Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Timer

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
21.07.2003, 17:48 Uhr
Bobbel



Hallo Programmierer!

Ich suche schon seit einiger Zeit verzweifelt nach einem ordentlichen Tutorial fuer Timer, habe auch schon in C++ in 21 Tagen reingeschaut, aber das ist MFC... ich suche ein allgemeines Tut., da ich in OpenGL programmiere, kann mir einer weiterhelfen?

Danke im Vorraus.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.07.2003, 14:44 Uhr
ao

(Operator)


Timer sind betriebssystem-spezifisch, also welches System verwendest du?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
22.07.2003, 15:17 Uhr
HeroHolger



Timer sind ziemlich problematisch. ... gerade wenn man ziemlich zeitgenaue timer braucht, gibts da Probleme.
aber es gibt mit QT die Möglichkeit nen einfachen Timer zu nutzen (ähnlich wie bei MFC)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.07.2003, 09:09 Uhr
Bobbel



@ao Ich verwende Betriebssystem Windows 2000! Wieso sind sie betriebssystemspezifisch? Ich hatte bis jetzt nur was von Multimedia- und Performancetimern gehoert, diese( performancet.) werden nicht auf jeden Computer unterstuetzt. So ein bisschen weiss ich ja darueber, aber direkt wie man das macht, net.

@HeroHolger Was ist denn QT?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
23.07.2003, 10:28 Uhr
ao

(Operator)



Zitat:
Bobbel postete
Ich verwende Betriebssystem Windows 2000!

Dann ab nach nebenan zu Windows API.


Zitat:
Wieso sind sie betriebssystemspezifisch?

Weil sie nicht zum Sprachumfang von C oder C++ gehören, sondern im Betriebssystem (oder in einer Zusatzbibliothek) realisiert sind und eine eigene API haben. Du willst wissen, wie es mit Windows geht; Linux interessiert dich nicht. Um dir helfen zu können, muß man wissen, was für ein System du verwendest, aber das wissen wir ja nun.

Um dir richtig gut helfen zu können, muß man auch noch genauer wissen, was das für eine Aufgabe ist, die du mit einem Timer lösen willst.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
23.07.2003, 10:53 Uhr
Bobbel



Ich moechte einen Timer haben, fuer:

a) die Framerate per second moeglichst genau auszurechnen
b) Die gesamte Zeit, die man im Programm ist, anzuzeigen und zu speichern
c) time-based movement

Reicht dir das als genauer?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
23.07.2003, 11:46 Uhr
ao

(Operator)



Zitat:
Bobbel postete
Ich moechte einen Timer haben, fuer:

a) die Framerate per second moeglichst genau auszurechnen
b) Die gesamte Zeit, die man im Programm ist, anzuzeigen und zu speichern
c) time-based movement

Reicht dir das als genauer?


Jau. Du möchstest also

a) einen Ereigniszähler mit Zeitfenster und evtl. einer Aktion am Ende des Fensters (fps-Anzeige aktualisieren, Zähler rücksetzen und neu starten)
b) eine Zeitdifferenz-Messung
c) eine wiederholbare zeitverzögerte Aktion (Bild malen, nächstes Bild ausrechnen, neuen Durchlauf antreten)

b) ist trivial, es gibt in Windows Funktionen wie GetTickCount, GetSystemTime usw.

a) und c) würde ich mit Win32-API mit einem Thread realisieren (vernünftig in eine Klasse eingekapselt natürlich). Aber vorher solltest du prüfen, obs nicht in OpenGL etwas speziell Zugeschnittenes für dich gibt (ich kenne OpenGL nur dem Namen nach).

Ich würde meinen, c) ist das kritischste, weil die Zeiten kurz sein und sehr genau eingehalten werden müssen, damits nicht ruckelt. Aber ich bin kein Grafikprogrammierer und habe hier keine Erfahrung.

Benutzt du MFC oder noch irgendeine andere Bibliothek?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
23.07.2003, 13:40 Uhr
Bobbel



MFC benutze ich gar nicht. Zur Zeit benutze ich die Win-Applikation, da es fuer die Grafikprogrammierung das beste ist ( zumindest OGL und DX )
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.07.2003, 00:10 Uhr
Andyk



also wenn du mit dx arbeitest kriegst du mit dem common files framework schon nen timer mit, der dir sachen wie die Elapsed Time, die framerate usw. ermittelt
--
CU,
ANDYK
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
30.07.2003, 01:06 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Hi vielleicht hilft dir ja das hier
das verwende ich immer, ist wesentlich genauer als GetTickCount


C++:
LONGLONG Frequency, CurrentTime, LastTime;
double TimeElapsed, TimeScale;
QueryPerformanceFrequency( (LARGE_INTEGER*) &Frequency);
TimeScale = 1.0/Frequency;
//hier die funktion deren dauer bestimmt werden soll ausführen
QueryPerformanceCounter( (LARGE_INTEGER*) &LastTime);
QueryPerformanceCounter( (LARGE_INTEGER*) &CurrentTime);
TimeElapsed = (CurrentTime - LastTime) * TimeScale;



Gruss Heiko
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: