Since I started using SFML 2.0 I sometimes, randomly occurring experienced this strange behavior: When I am testing performance and removing FPS limits I usually have a constant frame rate (lets say 100FPS), and most of the time it keeps going constantly for several minutes (as long as the program was running). Some other times however, after some time has passed from executing the program (pretty random, sometimes after 5 seconds, other times after a minute) the frame rate suddenly multiplies by 3-4, and after this random event is triggered, the frame rate stays that high. It remains like that even if I restart the game (not by closing the application, but inside the game reloading every file, reinitializing and restarting everything).
This random occurence seems to be independent of the code (running the same executable, this performance boost might or might not get triggered)
I have tried to investigate what might be going on by running a process manager and GPU-Z for GPU load, and this is what I have found out:
During normal performance, I have a ~60% CPU Load, so full load on one core (I have dual core) ,a bit on the other, and 6-8% on the GPU.
After this performance boost is triggered and framerate jumped to 3-4x the CPU Load goes to around 30-35% (huge drop considering the great frame rate increase) and the GPU load goes up to ~35%.
Feels like initially the CPU is doing everything, and after a while, triggered by something, the GPU goes "alright, let me help you out with that", and takes the load off (and gives a huge performance boost)
I have no idea what causes this, but I would very much like to be in control of it, as if I could always rely on this increased performance it would make things easier.
I am running Win7 x64, nVidia 8800GTS, intel core2 duo CPU, not sure if relevant.
Please let me know if you have an idea of what could be causing this.