ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4442150
Jetzt (Chat):
14 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Sourcecode-Probleme
Re: merkwürdiges Timer Problem
Normal
AutorThema
-insane- Offline
ZFX'ler


Registriert seit:
08.03.2009

Deutschland
merkwürdiges Timer ProblemNach oben.
Ich habe eine Frame Bremse programmiert, einmal mit GetTickCount und einmal mit QueryPerformanceCounter. Beide Funktionen sind im Grunde identisch. Allerdings komme ich bei GetTickCount auf ca. 30 FPS und bei QueryPerformanceCounter auf die gewünschten 60 FPS. Die elapsed Variable kommt bei GetTickCount ungewöhnlicherweise auf ca. 15ms pro Durchlauf in der Frame Bremse, während QueryPerformanceCounter auf ca. 2ms kommt. Da QueryPerformanceCounter eigentlich sowieso mittlerweile von fast jedem Computer unterstützt wird, könnte ich die GetTickCount Funktion ja einfach rausnehmen, aber mich würde schon interessieren, wie es dazu kommen kann und finde da einfach keine Erklärung für. Das es bessere Möglichkeiten als die Frame Bremse gibt, weiß ich auch, benutze ich auch nur zu Testzwecken. Hier mal der Code der Frame Bremse:

Code:
// setted_fps wurde aus 1000ms/60fps errechnet
while (frame_brake < setted_fps)
{
    current_frame = GetTickCount();
    elapsed = current_frame - last_frame;
    frame_brake = (float)elapsed;
}

///////////////////////////////////////////

while (frame_brake < setted_fps)
{
    QueryPerformanceCounter(¤t_frame);
    elapsed = (current_frame.QuadPart - last_frame.QuadPart) * 1000 / frequency.QuadPart;
    frame_brake = (float)elapsed;
}


Danke schonmal im Voraus für die Hilfe.

-insane-

EDIT: Was vielleicht noch interessant wäre ist, wenn ich die Frame Bremse raus lasse, habe ich bei beiden Funktionen ca. 500 FPS.

1 Mal gendert, zuletzt am 08.03.2009, 22:02:42 Uhr von -insane-.
08.03.2009, 20:55:21 Uhr
Krishty Offline
ZFX'ler


Registriert seit:
01.02.2004

Nordrhein-Westfalen
342173470
Re: merkwürdiges Timer ProblemNach oben.
GetTickCount() ist schlicht und einfach nicht präziser als 15ms. Selbst wenn der korrekte Wert 1ms wäre, würde GetTickCount immernoch 15ms ausspucken.

Gruß, Ky
08.03.2009, 22:10:00 Uhr
Normal


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel