After two days of rewriting, rethinking, remodeling everything, I finally figured out that the performance drop I had was in fact due to myself using CopyRects routines from IDirect3DSurface8 interfaces (created by CreateImageSurface) to the backbuffer. I wasn't aware that CreateImageSurface would create surfaces in system memory, so obviously it was a slow process to copy to the backbuffer -- although I didn't expect it to create a sort of "bottleneck" that would limit the game to a maximum of 100 FPS. Anyway, I had to rewrite (again) a part of the interface routine, and make it use IDirect3DTexture8 interfaces instead of simple surfaces. Now, it works, it's (supposedly and hopefully) compatible with early 3Dfx cards (even though I don't see myself playing the latest version of Kyodai Mahjongg with a Voodoo Graphics board...), and it's, well, roughly the same speed as the DirectX 7.0 version, as opposed to the last time I tested. Oh, and that's during the game. The 3D logo animation is actually much faster now, jumping to 285 FPS. But with the same video card, my Pentium III 450mhz computer managed 320 to 360 FPS on the same screen, same settings. Why could a machine 7 times slower manage better performance than my current one ? Hu ? I don't know. I'll have to check the settings. Maybe it's the GeForce3 that sucks with newer CPUs. Anyway. I'll be spending the next few days restructuring my code, cleaning it, trying to implement correctly the fullscreen modes without having the game crash (well, at least I've been able to run it in multisample mode a couple of times, and it looked good !). Then I will fetch a few "to-dos" from my to-do-list, do a private beta session, think about adding a mini-game, and, and... finally I'll be starting my new game. That should be in about... 4 or 5 y..m...weeks. Hopefully
Anyway I'm aiming for a release of the new version before the end of the year. I'd like a Christmas release