Removed Wait_VBL. Was only used for slowing down things. Used SDL_Delay(1) instead, which let the OS handle other things. We should get about 10-20ms latency with that. Scrollbars may be slightly faster. The only place where this could be a problem is discontinuous freehand. If the current way it works isn't good, look at the "Chrono" functions (like the spray) instead.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@799 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
23
misc.c
23
misc.c
@@ -125,7 +125,7 @@ void Wait_end_of_click(void)
|
||||
{
|
||||
// On désactive tous les raccourcis clavier
|
||||
|
||||
while(Mouse_K) if(!Get_input()) Wait_VBL();
|
||||
while(Mouse_K) if(!Get_input()) SDL_Delay(1);
|
||||
}
|
||||
|
||||
void Hide_current_image_with_stencil(byte color, byte * stencil)
|
||||
@@ -170,25 +170,6 @@ void Init_chrono(dword delay)
|
||||
return;
|
||||
}
|
||||
|
||||
void Wait_VBL(void)
|
||||
// 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)
|
||||
{
|
||||
const int delay = 10;
|
||||
|
||||
Uint32 debut;
|
||||
debut = SDL_GetTicks();
|
||||
// Première attente : le complément de "delay" millisecondes
|
||||
SDL_Delay(delay - (debut % delay));
|
||||
// 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() / delay <= debut / delay)
|
||||
{
|
||||
SDL_Delay(1);
|
||||
}
|
||||
}
|
||||
|
||||
void Pixel_in_brush (word x,word y,byte color)
|
||||
{
|
||||
*(Brush+y*Brush_width+x)=color;
|
||||
@@ -645,7 +626,7 @@ void Slider_timer(byte speed)
|
||||
end = SDL_GetTicks() + speed*10;
|
||||
do
|
||||
{
|
||||
if (!Get_input()) Wait_VBL();
|
||||
if (!Get_input()) SDL_Delay(1);
|
||||
} while (Mouse_K == original_mouse_k && SDL_GetTicks()<end);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user