Hello Robert et al,
I've been out of town for the last week, so haven't seen this thread,
but just an FYI...
I'm open to adding back a toggle for the timer implementation,
especially if someone else writes it :-)
The other avenue to explore is multi-buffering the Timer is some way
that manages the QueryPerformanceCounter() from different processes.
In most cases I've seen, the erratic timer behaviour on
multi-core/Hyperthreaded CPUs has been resolved by implementing this
fix:
http://support.microsoft.com/kb/895980
In short: add the /usepmtimer option to the line that describes the OS
you boot in the boot.ini file which is in the root dir of your boot
drive. For example, if it reads
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Professional"
/fastdetect /NoExecute=OptIn
add /usepmtimer like so:
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows XP Professional"
/fastdetect /NoExecute=OptIn /usepmtimer
Installing the latest CPU driver from AMD or Intel normally applies
this fix automatically, but you can check if it's there by opening the
boot.ini file in a text editor. I don't know what the fix does at a
low level, but it seems to work.
Of course, the bad news is that it's a per-installation fix, so you
can't implement it once in your code base to prevent new users from
coming here to report erratic timer behaviour... So if the changes to
osg::Timer you propose don't affect precision in unwanted ways, you
might want to do those anyways.
Just thought you should know about the MS knowledge base article.
J-S
--
______________________________________________________
Jean-Sebastien Guay [EMAIL PROTECTED]
http://whitestar02.webhop.org/
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/