FPS rise suddenly every few seconds

Started by
5 comments, last by InvalidPointer 11 years, 1 month ago

Hi. My demo runs well on my HD5670 home computer,but I don't know why when I test it on GT430,the FPS becomes not steady.In most of time it runs at about 30+ frames per second,but every few seconds it well suddenly rise to 200+ frames per second and drop to 30+ immediatly on the next frame. This problem causes my demo runs not smoothly on that machine, and when I lock the frame rate to 30,it became just ok. Does anyone know the reason?

Advertisement

This is just a guess. I read something that drivers are sometimes able to counter-act bad code by recognizing problematic instructions. For example, you code something in your rendering loop that should be elsewhere in the application. It could be that the same problem exists on the HD5670 and the GT430 but the driver is preventing the issue from being really noticed on both. But without more info it is impossible to say for sure.

However, it could be a bunch of different things. Like switching shaders between geometry and pixel. It is almost impossible to be helpful without more information.

PS, I would try on some other hardware as well. 2 is not enough, there could be a defective card.

This is just a guess. I read something that drivers are sometimes able to counter-act bad code by recognizing problematic instructions. For example, you code something in your rendering loop that should be elsewhere in the application. It could be that the same problem exists on the HD5670 and the GT430 but the driver is preventing the issue from being really noticed on both. But without more info it is impossible to say for sure.

However, it could be a bunch of different things. Like switching shaders between geometry and pixel. It is almost impossible to be helpful without more information.

PS, I would try on some other hardware as well. 2 is not enough, there could be a defective card.

Thanks for replying. I`ve tried a lot of ways to fix it, and finally I found that when I set the "Maximum pre-rendered frames" to 1,it will become ok. While the default setting or other values higher than 1 will cause this problem. Instead of setting this parameter on the NVIDIA control panel,Can I set this value by code?Or maybe there have some other ways to solve this problem?Thank you~

Some one said,If "Maximum pre-rendered frames" is set to more than one, then the CPU is allowed to start rendering subsequent frames without waiting for the current one to be presented. So I think sometimes my update frame rate may be much higher than the truely display frame rate,at that time the FPS will be rised suddenly.

Are you using .NET?

Are you using .NET?

I'm using c++ and D3D 9

You can do it via DXGI 1.1, but that won't really help you. For D3D9, you're locked into using IHV libraries and thus will need to write code paths for both AMD and/or nVidia.

clb: At the end of 2012, the positions of jupiter, saturn, mercury, and deimos are aligned so as to cause a denormalized flush-to-zero bug when computing earth's gravitational force, slinging it to the sun.

This topic is closed to new replies.

Advertisement