Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

1

18.04.2006, 07:23

Zeitmessung

Hallo, ich wollte kurz fragen, ob es Funktionen gibt, mit denen man die Zeit im Programm berechnen kann und die einen genaueren Wert als den Int-Wert zurückgeben.

Ich weiß noch, dass es da einige Funktionen von Windows gab, aber ich kenn sie nicht mehr und bei denen war die Auflösung auch bestenfalls 1 Sekunde ...

Danke!

Mit freundlichen Grüßen,
WhiteMike

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

18.04.2006, 08:02

Geht GAAAANNNNZZZ einfach ;)

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <windows.h>

int main()
{
float TimePassed = 0.0f;
__int64 llFrequency;
__int64 llStartTime;
__int64 llEndTime;

// get Frequency noch vor einer Zeitmessung!

QueryPerformanceFrequency((LARGE_INTEGER*) &llFrequency);

// Startzeitpunkt messen

QueryPerformanceCounter((LARGE_INTEGER*)(&llStartTime));

// Warten solange nicht Enter....

while(!GetKeyState(VK_RETURN))

// Endzeitpunkt messen

QueryPerformanceCounter((LARGE_INTEGER*)(&llEndTime));

// Zeit die vvergangen ist...

TimePassed = ((float)(llEndTime - llStartTime)) / ((float)llFrequency);
}

Anonymous

unregistriert

3

18.04.2006, 11:55

koschka
Noch einfacher:

C-/C++-Quelltext

1
timeGetTime();
Das mit der genauigkeit wird von QueryPerformanceCounter oft etwas zu "überbewertet".

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

18.04.2006, 14:38

Ich bin mit timeGetTime allerdings auch schon öfters an den Punkt gelangt, wo es nicht mehr genau genug war. Von daher würde ich auch zum Performance-Counter raten.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

18.04.2006, 18:39

Ich find das auch... einfach besser, ...

WhiteMike

Alter Hase

  • »WhiteMike« ist der Autor dieses Themas

Beiträge: 507

Wohnort: Ulm

Beruf: Schüler

  • Private Nachricht senden

6

19.04.2006, 08:57

Danke an alle,
hilft mir echt sehr weiter ;)

Mit freundlichen Grüßen,
WhiteMike

7

19.04.2006, 10:56

gibt es nicht auch noch GetTickCount() ?

bei delphi is das ab millisekunden sehr ungenau aber bei C++ mein ich wärs genauer...

Anonymous

unregistriert

8

19.04.2006, 11:43

Sk!p
Standardfunktionen sind i.d.R. immer ungenau und langsam.

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

9

21.04.2006, 19:20

also ich verwend GetTickCount() und QueryPerformanceCounter().

einen netten artikel der deine fragen beantworten sollte gibts hier ;)

Werbeanzeige