qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] Extremely slow graphic updates


From: Stefano Stabellini
Subject: [Qemu-devel] [PATCH] Extremely slow graphic updates
Date: Tue, 20 Jan 2009 23:43:02 +0000
User-agent: Thunderbird 2.0.0.14 (X11/20080505)

Hi all,
as you may be already aware of, the last displaystate interface change
slowed down the qemu monitor and the text vga text mode in general much
more then expected.
The reason for this is that to update the sdl window we are calling
SDL_Flip instead of SDL_UpdateRect.
SDL_Flip is necessary to update the SDL window when using double
buffering, when double buffering is disable it just falls back to
SDL_UpdateRect updating the whole screen.
So in our case we do not use double buffering so we are updating the
whole screen every time for no reason.
This patch fixes that.

Signed-off-by: Stefano Stabellini <address@hidden>


diff --git a/sdl.c b/sdl.c
index 73396e8..0c4a3e1 100644
--- a/sdl.c
+++ b/sdl.c
@@ -62,7 +62,7 @@ static void sdl_update(DisplayState *ds, int x, int y, int w, 
int h)
     //    printf("updating x=%d y=%d w=%d h=%d\n", x, y, w, h);
 
     SDL_BlitSurface(guest_screen, &rec, real_screen, &rec);
-    SDL_Flip(real_screen);
+    SDL_UpdateRect(real_screen, x, y, w, h);
 }
 
 static void sdl_setdata(DisplayState *ds)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]