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

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

11

15.10.2009, 08:19

sleep().

Iirc gibts aber Unterschiede bei Win und Unix. Einmal sleep() und einmal Sleep(). Lässt sich aber mit nem einfachen #ifdef behandeln.

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

12

15.10.2009, 12:21

Zitat von »"Sylence"«

sleep().

Iirc gibts aber Unterschiede bei Win und Unix. Einmal sleep() und einmal Sleep(). Lässt sich aber mit nem einfachen #ifdef behandeln.


ähm war das nicht um den thread anzuhalten?^^

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

13

15.10.2009, 13:36

Zitat von »"Stazer"«

Zitat von »"Sylence"«

sleep().

Iirc gibts aber Unterschiede bei Win und Unix. Einmal sleep() und einmal Sleep(). Lässt sich aber mit nem einfachen #ifdef behandeln.


ähm war das nicht um den thread anzuhalten?^^

Richtig, für eine bestimmte Zeit, die du als Parameter angeben kannst.

Stazer

Alter Hase

Beiträge: 468

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

14

15.10.2009, 13:37

wollte grad sagen :D

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

15

15.10.2009, 18:03

Zitat von »"xardias"«

Zitat von »"Stazer"«

Zitat von »"Sylence"«

sleep().

Iirc gibts aber Unterschiede bei Win und Unix. Einmal sleep() und einmal Sleep(). Lässt sich aber mit nem einfachen #ifdef behandeln.


ähm war das nicht um den thread anzuhalten?^^

Richtig, für eine bestimmte Zeit, die du als Parameter angeben kannst.
kp ob das was zur sache tut, aba mir ist soals hätte ich mal irgendwann gelesen das der Sleep() befehl nich optimal wäre (weil der sotief ins system reinpfuscht) stimmt das bzw. gäbs noch andere lösungsideen für sowas?
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

16

15.10.2009, 19:13

Zitat von »"goldfisch007"«

kp ob das was zur sache tut, aba mir ist soals hätte ich mal irgendwann gelesen das der Sleep() befehl nich optimal wäre (weil der sotief ins system reinpfuscht) stimmt das bzw. gäbs noch andere lösungsideen für sowas?
Um eine vorgegebene Zeit zu warten, ist Sleep() okay. Was nicht gut wäre, ist zum Beispiel eine Schleife, die dauernd die Zeit abfragt. Vielleicht meinst du Sleep() im Zusammenhang mit Multithreading - es da als Verzögerung zu verwenden, um asynchrone Zugriffe zu vermeiden, ist recht unsauber.

17

15.10.2009, 20:45

Zitat von »"Nexus"«

Vielleicht meinst du Sleep() im Zusammenhang mit Multithreading - es da als Verzögerung zu verwenden, um asynchrone Zugriffe zu vermeiden, ist recht unsauber.

Ich glaube das wäre ziemlich bescheuert, das wird immer gut gehen, bis auf irgendwann einmal, und dann kracht es richtig. Ich meine, wofür gibt es Critical Sections?
Sleep ist imo auch zum Zeitmessen total ungeeignet, da es nur sowas wie "Warte bitte mal grob x Millisekunden" ist. Besonders bei sehr kurzen Zeiten wird das total ungenau.
Soweit ich weiß, ist Sleep einfach nur dazu da, ein wenig sozial zu sein, und anderen Prozessen Rechenzeit zu geben. Für alles andere gibt es bessere Alternativen.
Lieber dumm fragen, als dumm bleiben!

goldfisch007

Alter Hase

Beiträge: 446

Wohnort: Süden von Berlin

  • Private Nachricht senden

18

18.10.2009, 14:42

so nach dem ich jez mal nen bissel bei ctime.h geguckt hab,
konnte ich immer noch nich sicher die funktion finden die mir die zeit seit programm/system start zurück gibt (am besten als float..., also sowas wie timeGetTime())...,

könntet ihr mir dda nochmal helfen und meine recherchezeit verkürzen?

thx a lot
Wir bauen auf und reißen nieder, so ham wir Arbeit ima wieder...
--------------------
http://www.piratenpartei.de/tmp/images/Slogans_5_0.png
--------------------
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender, geklaut von Helmut xD)

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

19

18.10.2009, 15:11

http://www.cplusplus.com/reference/clibrary/ctime/time/

Aber die Funktion ist nur sekundengenau, wenn du präziser werden willst, geht es (meines Wissens nach) nicht ohne OS spezifische Funktionen. Aber die kann man ja super einfach wrappen ;)

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

20

18.10.2009, 15:11

1. Die Headerdatei heißt entweder ctime (verwendet namespace std) oder time.h (nicht im namespace std) aber nicht ctime.h. Nur so nebenbei.
2. timeGetTime gibt einen DWORD (unsigned long) zurück und keinen float
3. versuch's mal mit time()

EDIT: Da war wohl jemand schneller... Mit dem gleichen Link
Signaturen werden überbewertet

Werbeanzeige