Implemented a time simulator for Wait_VBL()
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@166 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
7f67d41f86
commit
e219797b16
17
divers.c
17
divers.c
@ -336,9 +336,22 @@ void Initialiser_chrono(dword Delai)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Wait_VBL(void)
|
void Wait_VBL(void)
|
||||||
// Attente de VBL. Pour avoir des scrollbars qui ont une vitesse raisonnable par exemple. SDL ne sait pas faire ?
|
// Attente de VBL. Pour avoir des scrollbars qui ont une vitesse raisonnable par exemple.
|
||||||
|
// SDL ne sait pas faire, alors on simule un timer qui a une fréquence de 100Hz,
|
||||||
|
// sans charger inutilement le CPU par du busy-wait (on n'est pas à 10ms près)
|
||||||
{
|
{
|
||||||
SDL_Delay(20); // On considère un écran à 50Hz
|
const int Delai = 10;
|
||||||
|
|
||||||
|
Uint32 debut;
|
||||||
|
debut = SDL_GetTicks();
|
||||||
|
// Première attente : le complément de "Delai" millisecondes
|
||||||
|
SDL_Delay(Delai - (debut % Delai));
|
||||||
|
// Si ça ne suffit pas, on complète par des attentes successives de "1ms".
|
||||||
|
// (Remarque, Windows arrondit généralement aux 10ms supérieures)
|
||||||
|
while (SDL_GetTicks() / Delai == debut / Delai)
|
||||||
|
{
|
||||||
|
SDL_Delay(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Passer_en_mode_texte(byte Nb_lignes)
|
void Passer_en_mode_texte(byte Nb_lignes)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user