Re: TurboSphere
Reply #338 –
What version do you have? All the 0.3.5 on up are pretty similar (and about 80% performance of what it is now, although initially loading images takes a little longer now than it used to).
The test script get's about 1000 fps on my laptop (showing two windowstyles, blitting three surfaces without converting them to images, playing a midi, writing several strings using both TTF and BMP fonts, doing zoomed, masked, and rotated blits). WindowStyles should actually be medium speed, they do some silly things, but only have a single draw per component by using greater-than-one texture coordinates. They will, however, get a bigger boost from the new graphics backend and fleshed out spritebatcher (atlasing their components makes perfect sense).
If it is 0.3.5, you can try disabling compositing in engine.ini (set it to zero). That kills performance on AMD machines, I noticed, though not as much on NVidia. Setting the scale has a small effect (TurboSphere in 0.3.5 is either cpu limited or fill limited, depending on what the scripts do). If you aren't getting over 1000 fps on the test script with a Radeon 8750, GeForce 550 ti, or better, I'd like to know more about what is happening there. I get over 1000 fps on my 550, right around 1000 on my 8750.
The new graphics backend is still only about a 20% improvement of the final 0.3.5. I'm adding it because, for one, it uses OpenGL that isn't nine years old, and for two it makes the sprite batcher (which will power the map engine in particular) much, much faster.
You can open maps and spritesets in TurboSphere (a spriteset sprite is rendered through the Sphere API in the 0.3.5 test script), and calling MapEngine will draw the map (but slowly, it's just a test of map loading). I have all the code to load maps and spritesets, and some code that I will use as reference for the actual map structure. But really, it's just prototype stuff. Nothing optimized, nothing really the way I want it to be, just feeling out what it should be like.
I have kind of been stuck with the backend, though. Mostly because fully updated Arch Linux can't use proprietary AMD drivers at the moment (it has Wayland compatibility in the X server, which crashes fglrx). So since the weekend I've only been able to use Mesa drivers. Which are slow.