Re: [Algorithms] Timing problems
Brought to you by:
vexxed72
From: Paul at H. <pa...@ru...> - 2009-01-04 16:31:55
|
Thanks Emil, I'll give that a go first. :) Regards, Paul Johnson. ----- Original Message ----- From: Emil Persson To: 'Game Development Algorithms' Sent: Sunday, January 04, 2009 2:36 PM Subject: Re: [Algorithms] Timing problems The problem doesn't arise from threading your application, but from calling QPC from different CPUs. In a multi-core machine Windows will schedule each thread to run on any CPU as it sees fit. First time-slice for your application may run on CPU0, the next one perhaps on CPU2, and then CPU1 etc. By the time you're reading QPC you could be on any CPU and it could be different cores every frame. Unless of course you call SetThreadAffinityMask(). Something like this at the beginning of the application should do: SetThreadAffinityMask(GetCurrentThread(), 1); This will stick the thread to CPU 0. -Emil From: Paul at Home [mailto:pa...@ru...] Sent: 04 January 2009 12:44 To: Game Development Algorithms Subject: Re: [Algorithms] Timing problems I've seen this around but I'm not using any threads. Not deliberately anyway. Do you put a zero in for "me" ? Regards, Paul Johnson. ----- Original Message ----- From: Gregory Junker To: 'Game Development Algorithms' Sent: Sunday, January 04, 2009 2:07 AM Subject: Re: [Algorithms] Timing problems Hi Paul By "jump problem", do you mean this? http://support.microsoft.com/kb/274323 Either way, simply set the thread that is your time master to run on only a single core, using SetThreadAffinityMask() (on Win32, of course - not sure what the equivalent, if any, might be on Linux). http://msdn.microsoft.com/en-us/library/ms686247(VS.85).aspx Yes, it's a hack, but at present, it's what we got. ;) Greg ---------------------------------------------------------------------------- From: Paul at Home [mailto:pa...@ru...] Sent: Saturday, January 03, 2009 3:06 PM To: gda...@li... Subject: [Algorithms] Timing problems I've just fallen foul of QPC not working correctly having just gone from a single processor to a quad core. I remember reading somewhere that multiple processors could cause problems in the future, but I guess the future (for me) just arrived. I do handle the well-known "jump" problem but I guess that's old news now anyway. Can anyone point me in the right direction for how to fix this please ? Regards, Paul Johnson. ---------------------------------------------------------------------------- ------------------------------------------------------------------------------ ---------------------------------------------------------------------------- _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list |