I have a strange problem with my framerate. I made a simulator application which normally runs with > 60 Hz. After a few minutes, framerate suddenly drops to < 5.
It runs on a 4 core processor (intel core i7-2600K) with an Nvidia GTX560Ti (1GB) GPU and windows 7 Pro 32 bits. (I also tried it on 64 bits, as a 32 bits application, but the problem stays the same). I have 8 GB memory installed, but windows 32 bits ofcourse allows only the use of (a part of) 4 Gb.
The 4 processors as assigned as follows:
- processor 1: ppython (copied as ppython-middle.exe) with settings and *.py files for rendering the middle display
- processor 2: ppython (copied as ppython-left.exe) with settings and *.py files for rendering the left display
- processor 3: ppython (as ppython-right.exe) with settings and *.py files for rendering the right display
- processor 4: user interface and scenario generation
I have set ‘lock-to-one-cpu #f’ in /etc/confauto.prc
When I run these 3 versions of panda, after a while frame rate drops from > 60 Hz to < 5 Hz, resulting in image freezes and very jittery images. In the taskmanager, it says:
Total memory: 3056 Mb, when running the simulations, free memory gradually drops to 0, but available memory stays well over 600 Mb. The drop in framerate is caused by memory swapping when free memory becomes too low.
When I limit the rendering to 2 processes (displays) instead of 3, the problem does not occur, because free memory never becomes 0 in that case.
Although this seems to make sense, it really isn’t. Available memory is still more than enough (> 600 Mb), so memory swapping should not occur.
I know there’s a hotfix for that from Microsoft (hotfix 324895) but this won’t install on my computer, saying ‘the update is not valid for your computer’. Also installing all new windows updates did not fix the problem.
I also have this application running on another computer (also windows 7, 32 bits), but on this system I have not noticed this problem. This is probably because total memory is larger there (around 3500 MB instead of 3056). Usable memory varies strongly between computers, depending on hardware installed. I use an i5 processor and a different mobo on the other PC.
It’s probably not a specific panda issue, but has anyone experienced this problem as well and found a solution for it ?
I’ve tested the memory banks and found no errors.