New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Atmos perfomance #197

Closed
kremius opened this Issue Feb 6, 2016 · 15 comments

Comments

Projects
None yet
2 participants
@kremius
Member

kremius commented Feb 6, 2016

It is possible to enchance the atmos perfomance in many various ways (group processing, area processing, etc etc). For a while current implementation is fine, but changes will be needed.

@kremius kremius added the enhancement label Feb 6, 2016

@kremius

This comment has been minimized.

Member

kremius commented Mar 31, 2016

Maybe just processing it in separate thing will be fine

@kremius kremius added this to the v0.4.0 - Big map milestone Apr 2, 2016

mechmind added a commit that referenced this issue Apr 10, 2016

kremius added a commit that referenced this issue Aug 3, 2016

@kremius kremius added feature and removed enhancement labels Aug 6, 2016

kremius added a commit that referenced this issue Aug 6, 2016

@shelltitan

This comment has been minimized.

Contributor

shelltitan commented Aug 6, 2016

Wouldn't it be a solutions if we make areas and areas would contain the tile based system but in not used places we would use a fastgasexchange() that would do the same as for tile just in area, and we would make an atomosevent() function that is used to detect atmos related events in that case the areas where this can have a real in-game effect would be calculated as tile for a time.

@kremius

This comment has been minimized.

Member

kremius commented Aug 6, 2016

It is valid approach, but it basically means that if something huge and interesting will happen (singularity outbreak with meteorits and something else) then it will be just usual per tile atmos, and it is not really good.
Anyway, seems like new atmos works pretty well (300x300 grid works just fine), so it will not be needed to get rid of the tile atmos - just various tweaks are needed, but the issue is solved overall.

@shelltitan

This comment has been minimized.

Contributor

shelltitan commented Aug 6, 2016

Well yes at high event number this would just do thing at unused corner tiles.

kremius added a commit that referenced this issue Aug 11, 2016

kremius added a commit that referenced this issue Aug 13, 2016

kremius added a commit that referenced this issue Aug 13, 2016

kremius added a commit that referenced this issue Aug 13, 2016

kremius added a commit that referenced this issue Aug 14, 2016

kremius added a commit that referenced this issue Aug 18, 2016

kremius added a commit that referenced this issue Aug 23, 2016

kremius added a commit that referenced this issue Aug 26, 2016

kremius added a commit that referenced this issue Aug 27, 2016

kremius added a commit that referenced this issue Aug 27, 2016

kremius added a commit that referenced this issue Aug 28, 2016

@kremius

This comment has been minimized.

Member

kremius commented Aug 28, 2016

Everything is signed now:

  1. Gases amounts may be negative (not really much, but still)
  2. Overflow?

kremius added a commit that referenced this issue Aug 29, 2016

kremius added a commit that referenced this issue Sep 3, 2016

kremius added a commit that referenced this issue Sep 4, 2016

kremius added a commit that referenced this issue Sep 5, 2016

kremius added a commit that referenced this issue Sep 8, 2016

kremius added a commit that referenced this issue Sep 11, 2016

@kremius

This comment has been minimized.

Member

kremius commented Sep 28, 2016

Somehow make pressure visible for debugging (maybe some special item which will change color on certain pressure?)

@kremius

This comment has been minimized.

Member

kremius commented Sep 28, 2016

#320 will help to look into gas movement tick-by-tick

kremius added a commit that referenced this issue Oct 1, 2016

kremius added a commit that referenced this issue Oct 1, 2016

@kremius

This comment has been minimized.

Member

kremius commented Oct 2, 2016

Overlays/underlays should have x/y shifts

kremius added a commit that referenced this issue Oct 2, 2016

kremius added a commit that referenced this issue Oct 5, 2016

kremius added a commit that referenced this issue Oct 7, 2016

kremius added a commit that referenced this issue Oct 7, 2016

kremius added a commit that referenced this issue Oct 9, 2016

kremius added a commit that referenced this issue Oct 9, 2016

kremius added a commit that referenced this issue Oct 11, 2016

@kremius

This comment has been minimized.

Member

kremius commented Oct 11, 2016

Remote door opener

kremius added a commit that referenced this issue Oct 12, 2016

kremius added a commit that referenced this issue Oct 13, 2016

@kremius

This comment has been minimized.

Member

kremius commented Oct 13, 2016

  • There is no wind in small corridors (~3 tiles)
  • Check if current Prepare stage is correct (cover all tiles only once)
@shelltitan

This comment has been minimized.

Contributor

shelltitan commented Oct 13, 2016

@kremius If this code run on GPU wouldn't it be faster? (Well I mean the atmos module.)

@kremius

This comment has been minimized.

Member

kremius commented Oct 14, 2016

@shelltitan I have thought about it, but in reality it is impossible

  • it may cause various issues with drawing
  • there is no stable API (?) for such things
  • it is impossible to just run code on GPU. It will be needed to rewrite everything in some special multithreading style, and it is not easy.
  • some machines do not have GPU (e.g. servers)
@shelltitan

This comment has been minimized.

Contributor

shelltitan commented Oct 14, 2016

@kremius Yeah I thought about servers too, as for API I heard OpenCL is made for this purpose.

kremius added a commit that referenced this issue Oct 14, 2016

kremius added a commit that referenced this issue Oct 15, 2016

kremius added a commit that referenced this issue Oct 16, 2016

kremius added a commit that referenced this issue Oct 16, 2016

kremius added a commit that referenced this issue Oct 17, 2016

kremius added a commit that referenced this issue Oct 18, 2016

kremius added a commit that referenced this issue Oct 19, 2016

kremius added a commit that referenced this issue Oct 20, 2016

kremius added a commit that referenced this issue Oct 21, 2016

@kremius

This comment has been minimized.

Member

kremius commented Oct 22, 2016

Seems like done

@kremius kremius closed this Oct 22, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment