Animations and/or death stone lasers cause fps and physics slowdown
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Nikki and the Robots |
New
|
Medium
|
shahn |
Bug Description
I noticed that ep1-02 (contains approx. 330 laser tiles entirely) is extremely slow on both my computers (Arch Linux 64bit/open source ati driver, Arch Linux 32bit/open source intel driver). I conducted some tests on my desktop (ati) and came to the conclusion that the animated laser tiles affect both physical and fps performance. I created a few minimal levels for stress testing to compare to ep1-02.
lasers visible on game screen:
slowdown/fps/level
40% / 14 fps / ep1-02
0% / 24 fps / test200lasertiles
9%/ 10 fps / test300lasertiles
30%/ 5 fps / test400lasertiles
no lasers visible on game screen:
slowdown/fps/level
40% / 18 fps / ep1-02
0% / 30 fps / ep1-02lasertile
0% / 26 fps / test200lasertiles
8% / 15 fps / test300lasertiles
30% / 10 fps / test400lasertiles
My conclusion is that the animated laser tiles are responsible for both. I imagine this might be because of the following reasons:
* inefficient checks for collision with nikki (merging of 'fail' areas might help, they are to be expected to be straight lines usually)
* no baking of animated tiles (animations that are positioned on the same layer and have identical frame count and delays could have their frames baked)
Changed in nikki: | |
importance: | Undecided → Medium |
assignee: | nobody → shahn (shahn) |
This is interesting. I plan to profile this level to see what exactly is going on.
> * inefficient checks for collision with nikki (merging of 'fail' areas might help, they are to be expected to be straight lines usually)
Yes, this might be useful.
> * no baking of animated tiles (animations that are positioned on the same layer and have identical frame count and delays could have their frames baked)
I don't know, if deathstones (static lasers) are baked at all at the moment. Is this issue mainly about deathstones or also about laser robots?