Findings Part III:
Now, I'm pretty sure that I had already tested the CPU affinity only set to one CPU core. Somehow my mind must be doing its tricks. After setting CPU affinity in Task Manager (for MP) to one CPu core only the flickering goes away on my dual core dev PC.
In EVR renderer there is old GetTickCount() used wich is not working correctly on multi core CPUs (both cores could return different register values depending how the CPU itself has done its power saving as it can be done on ore basis nowadays). Unfortunately it didn't help when I replaced all the GetTickCount() calls with QueryPerformanceCounter().
So, does anyone know if MP is using some other timekeeping methods than the QueryPerformanceCounter() in some other parts? If not then I guess I'll have to give up on debugging this issue and just use the ugly "hack" to set the process affinity as MP doesn't seem to like multi core CPUs.
Now, I'm pretty sure that I had already tested the CPU affinity only set to one CPU core. Somehow my mind must be doing its tricks. After setting CPU affinity in Task Manager (for MP) to one CPu core only the flickering goes away on my dual core dev PC.
In EVR renderer there is old GetTickCount() used wich is not working correctly on multi core CPUs (both cores could return different register values depending how the CPU itself has done its power saving as it can be done on ore basis nowadays). Unfortunately it didn't help when I replaced all the GetTickCount() calls with QueryPerformanceCounter().
So, does anyone know if MP is using some other timekeeping methods than the QueryPerformanceCounter() in some other parts? If not then I guess I'll have to give up on debugging this issue and just use the ugly "hack" to set the process affinity as MP doesn't seem to like multi core CPUs.
Sweden