NateTheGreatt Posted August 19, 2014 Share Posted August 19, 2014 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 More sharing options...
Nepoxx Posted August 19, 2014 Share Posted August 19, 2014 Make sure all the simulations are using WebGL. You can send me your test if you want, I have a HD7970 as well and I've never encountered any performance issues. Link to comment Share on other sites More sharing options...
NateTheGreatt Posted August 19, 2014 Author Share Posted August 19, 2014 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 More sharing options...
Nepoxx Posted August 19, 2014 Share Posted August 19, 2014 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 More sharing options...
NateTheGreatt Posted August 19, 2014 Author Share Posted August 19, 2014 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 More sharing options...
AshleyScirra Posted August 19, 2014 Share Posted August 19, 2014 Check chrome://gpu and see if it's reverting to software rendering. If it is, you might need to update your drivers. Link to comment Share on other sites More sharing options...
clark Posted August 19, 2014 Share Posted August 19, 2014 HD 5850 and 780 are hitting 60 fps.Sorry I cannot offer more. But when you look in the console log what do you see? Phaser v2.0.7 | Pixi.js v1.6.1 | WebGL | WebAudio http://phaser.io ♥♥♥ For example? Link to comment Share on other sites More sharing options...
Recommended Posts