Jump to content

Strange Performance Issues (Radeon HD series seems to be the problem)


NateTheGreatt
 Share

Recommended Posts

Hello,

 

Recently I attempted to render hundreds of sprites on the screen for some performance tests. I was sad to see that when adding upwards of 200 sprites of 64x64 pixels, my FPS dropped down to 7-8. However, when I ran the same simulation on my brother's computer (nvidia GTX 760), it ran at a smooth 60! I have a Radeon HD 7970 and didn't understand why I was experiencing the lag while my brother's GTX 760 wasn't. I asked a few of my friends to also test this. My one friend, who has a Radeon HD graphics card like I do, experienced the same lag that I experienced. My other friend has an ATI R9 series and was able to run the simulation at a full 60 FPS. All of the aforementioned graphics cards are all mid to high range cards

 

So I think that something is wrong with the way Radeon HD cards handle Phaser. Maybe Pixi or even Chrome is the bottleneck? Would anyone know how to troubleshoot something like this?

 

It's worth noting that I can have anywhere from 200-1000+ sprites and my FPS will still remain at 7/8, and my friend's and brother's FPS remain at 60. It might also be worth it to mention that when I add these images as just bitmapData, the lag disappears completely. 

Link to comment
Share on other sites

Here's a link to the game: https://project-utopia-c9-natethegreatt.c9.io/

 

I actively deploy to that, but I'll keep the laggy implementation on until I get a response. The sprites are currently invisible, but they are existing in the game world and causing me to have 7 FPS. I was attempting to create an isometric sprite with composite layers in order to have the ability to animate each layer but all simultaneously. In my state I created a pool for entities and populated it with 100 entity objects, but when I had the entity add a bunch of other sprites to the game world in its constructor (exponentially growing the number of sprites added), my FPS dropped significantly. FPS did not drop on my brother's computer, regardless of how many sprites I created it seemed.

Link to comment
Share on other sites

I'm currently at work (my hd 7970 is at home), I have a GTX 480 and I barely get 15 FPS. I am unable to go into details, but bufferSubData (PIXI.WebGLSpriteBatch.flush)

 is eating all the resources. Somebody with more experience with Phaser might be able to help more :)

 

Edit: Tested at home with my 7970, I get a solid 60FPS. (WebGL with hardware rendering)

Link to comment
Share on other sites

After fiddling around some more I've noticed that I can add pretty much any number of sprites with the same image key, but once I try to add any other sprite layers (each with their own unique image), the FPS plummets. The FPS is halved when I try to add 2-3 sprites with different images (this is still being multiplied by the number of entities in the pool, which I set anywhere from 50-100). Any more than that and the FPS sits at a consistent 7 or 8 frames.

 

 

Update:

Changing the rendering off of WebGL and on to Canvas, the FPS recovered! So WebGL is at least involved in this issue.

Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...