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

21

23.07.2007, 14:17

Nein geht nicht. Oder siehst du was, was ich nicht sehe...

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

22

23.07.2007, 14:19

hmm... stimmt eigentlich... das programm steckt auch mit sdltimer immer noch in einer schleife...
"Don't trust your eyes: They are a hell of a lot smarter than you are"

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

23

23.07.2007, 19:42

Zitat von »"tobb"«

Da ich platformunabhängig programmiere fange ich mit Sleep nichts an, da es Windows spezifisch ist.
[...]
Und zu usleep habe ich nichts gefunden, dass mir sagt, dass es zum C++ Standard gehört... deshalb kann ich es auch nicht nehmen.


Natürlich gehört es NICHT zum C++ Standard, wäre ja auch blöde, da OS Funktionen reinzupacken.
Aber glücklicherweise gibt es auch bei Betriebssystemen bzw Runtimes Standards, sodass man in diesem Fall mit zwei Funktionen fast alle OS erschlägt.
Wenn Du per ifdef Sleep oder ulsleep nimmst, bekommst Du
alle Win32 "flavors", alle Linux "flavors", die meisten Unixe (zumindest BSD, IRIX, Solaris, OS-X), MacOS-9, wahrscheinlich BeOS und wahrscheinlich ein paar mehr inkl Konsolen.
Welche Betriebssysteme willst Du unterstützen?
"Games are algorithmic entertainment."

24

23.07.2007, 19:48

Alle die, welche die SDL und OpenGL unterstützen...
Das mit usleep und Sleep probiere ich mal aus. Woher weißt du das usleep von diese System unterstützt wird, die du aufgezählt hast...?

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

25

23.07.2007, 20:05

http://plib.sourceforge.net/requirements.html

plib benutzt die ifdef Methode.
"Games are algorithmic entertainment."

26

23.07.2007, 20:27

Soso

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
inline void ulMilliSecondSleep ( int milliseconds )
{
  if ( milliseconds >= 0 )
  {
#ifdef UL_WIN32
    Sleep ( milliseconds ) ;
#else
    usleep ( milliseconds * 1000 ) ;
#endif
  }
}

Und dem kann man trauen?

27

23.07.2007, 20:45

ARGHHH!

Quellcode

1
2
3
int Time = SDL_GetTicks();
usleep(1000);
std::cout << SDL_GetTicks() - Time << std::endl;

Ausgabe

Zitat

13

MIst...

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

28

23.07.2007, 21:05

Komisch. In welchem OS? Kannst Du die Zeit anders messen um zu sehen ob das Problem mit dem usleep zusammenhängt oder mit Der Zeitmessung? Kann evtl das Betriebssystem nicht so genau "schlafen"? Alerdings sind 13 ms schon sehr viel.
"Games are algorithmic entertainment."

29

23.07.2007, 21:37

Linux Ubuntu 7.04 Feisty.

Mit rest aus Allegro ging das alles sehr gut...

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

30

24.07.2007, 09:31

Zitat von »"tobb"«


[...]
Und dem kann man trauen?


Sieht OK aus, aber ich dachte das der define WIN32 oder _WIN32 war und nicht UL_WIN32. Und die Abfrage ">= 0" gefällt mir nicht.
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

Werbeanzeige