Fragen zum High Resolution Timer in Windows
-
kann mir bitte jemand erklären wie ich den high resolution timer (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_multimedia_timer_reference.asp) in windows ändere (die "ticks per second" in einen beliebigen wert) ähnlich wie der windows media player, der diesen wert auf 500 setzt...
thx in advance

-
timeBeginPeriod?
-
sry habsch auch schon ausprobiert klappt aber net...
noch mal als hinweiß: ich möchte damit einen hlds (half life dedicated server) unter windows auf 1000 fps (frames per second) bringen, dafür muss ich den high resolutiion timer umstellen (auf 1000 ticks?)
-
Windows hat keinen high resolution timer

Die Auflösung von timeGetTime kannst du wie schon erwähnt wurde mit timeBeginPeriod umstellen. Ruf einfach timeBeginPeriod(1) auf, das heisst dann 1 msec Auflösung, das ist das Maximum was du bekommen kannst. Den "Ticks-Per-Second" Wert kannst du nicht umstellen, der ist bei timeGetTime immer 1000, bloss ohne timeBeginPeriod(1) springt der halt in 10er oder 15er Schritten, also die effektive Auflösung ist schlechter.
-
hmmm klappt immer noch net...
mein code:
#include <iostream>
#include <windows.h>main()
{
timeBeginPeriod(1);
std::cout<<cin.get();
}mache ich was falsch?
-
Ist das nicht eine WinApi?
-
#include <mmsystem.h>
Also in der MSDN nachschlagen sollte man schon können...
-
hmmm nun gut k...
#include <iostream> #include <windows.h> #include <mmsystem.h> int main() { MMRESULT timeBeginPeriod(1); std::cout<<std::cin.get(); }libwinmm.a library auch eingebunden...
klappt immer noch net *heul* unnu?