Hi,
I made a simple “BunnyMark” style benchmark with SDL2.0.4 based on
SDL_RenderCopy-ing as many moving 32x32 sprites to the screen as
possible while maintaining 60fps. An iPod 4 can manage about 1100 such
sprites before slowing down, but when I tried the same code on a Lumia
520 it could barely manage 10% of that. The Lumia benchmarks a little
faster than an iPod 5 in general, so something seems off here.
The device was running the latest Windows Phone 8.1 and everything was
built from source in release mode.
I confirmed SDL was using the D3D11 render path, but I also got the same
ballpark result when using the OpenGLES renderer via ANGLE.
I ran a similar Cocos2DX benchmark that could animate 2200 sprites @
60fps on the same device, I believe with an OpenGLES render path.
This is a profiling run of the SDL code:
D3D11_UpdateVertexBuffer is the major CPU hog. I don’t know anything
about D3D programming so I stopped there.
Main File:
Complete VS2015 Community Solution:
https://dl.dropboxusercontent.com/u/593090/BunnyMarkSDL.zip
Am I doing something stupid here (other than running contrived
benchmarks, obv) ?
Any suggestions?
John–
@nivrig