N
Nitro
Hello,
today I encountered a very odd situation. I am on Windows Vista and using
Python 2.5.2. Here's a code snippet to illustrate my problem:
# uncomment the next line to trigger the problem
# myExtensionModule.CreateDirect3D9Device()
import time
for i in range(0,100):
print time.time()
With the line commented time.time() returns a changing value which is what
I expect. However, when I uncomment it and create a Direct3D9 Device
[1][2] it keeps printing the very same number over and over! In my project
I am using twisted which uses time.time() to schedule all calls. Since
time.time() is completely screwed the whole application breaks.
I took a look at [3], but I can't see any obivous way how this all
interacts. Specifically I am not sure which API time.time() uses
internally (timeGetTime maybe?). Knowing this could probably help me debug
more. I feel like time.time() should not break (unless the vid card
driver/directx has a major bug). Any idea what might be happening here?
Replacing time.time() with time.clock() in twisted.python.runtime makes
the problem disappear. I guess because it uses QueryPerformanceCounter.
Thanks for your time,
-Matthias
References:
[1] http://msdn2.microsoft.com/en-us/library/bb172527(VS.85).aspx
[2] http://msdn2.microsoft.com/en-us/library/bb172527(VS.85).aspx
[3]
http://svn.python.org/view/python/trunk/Modules/timemodule.c?rev=59678&view=markup
today I encountered a very odd situation. I am on Windows Vista and using
Python 2.5.2. Here's a code snippet to illustrate my problem:
# uncomment the next line to trigger the problem
# myExtensionModule.CreateDirect3D9Device()
import time
for i in range(0,100):
print time.time()
With the line commented time.time() returns a changing value which is what
I expect. However, when I uncomment it and create a Direct3D9 Device
[1][2] it keeps printing the very same number over and over! In my project
I am using twisted which uses time.time() to schedule all calls. Since
time.time() is completely screwed the whole application breaks.
I took a look at [3], but I can't see any obivous way how this all
interacts. Specifically I am not sure which API time.time() uses
internally (timeGetTime maybe?). Knowing this could probably help me debug
more. I feel like time.time() should not break (unless the vid card
driver/directx has a major bug). Any idea what might be happening here?
Replacing time.time() with time.clock() in twisted.python.runtime makes
the problem disappear. I guess because it uses QueryPerformanceCounter.
Thanks for your time,
-Matthias
References:
[1] http://msdn2.microsoft.com/en-us/library/bb172527(VS.85).aspx
[2] http://msdn2.microsoft.com/en-us/library/bb172527(VS.85).aspx
[3]
http://svn.python.org/view/python/trunk/Modules/timemodule.c?rev=59678&view=markup