[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: Extremely slow graphic updates
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] Re: Extremely slow graphic updates |
Date: |
Wed, 21 Jan 2009 20:06:38 +0000 |
User-agent: |
Thunderbird 2.0.0.14 (X11/20080505) |
Lennart Sorensen wrote:
> I just tried running with '-serial /dev/null -parallel /dev/null' and
> the slow down problem disappeared. I am suspicious of this part of the
> 6336 commit:
>
> @@ -1360,12 +1352,137 @@ void qemu_console_copy(QEMUConsole *console, int
> src_x, int src_y,
> int dst_x, int dst_y, int w, int h)
> {
> if (active_console == console) {
> - if (console->ds->dpy_copy)
> - console->ds->dpy_copy(console->ds,
> - src_x, src_y, dst_x, dst_y, w, h);
> - else {
> - /* TODO */
> - console->ds->dpy_update(console->ds, dst_x, dst_y, w, h);
> - }
> + dpy_copy(console->ds, src_x, src_y, dst_x, dst_y, w, h);
> }
> }
>
> To me this looks like what used to do a copy if the console was active,
> and an update if it was not, has turned into a copy at all times. This
> sounds like potentially doing expensive work on inactive consoles. This
> is what made me think of trying to disable the parallel and serial
> consoles.
>
> I made this little patch for console.c:
>
> --- qemu-0.9.1.14778c2064166a8d1d07b22f0af9eee4fa490e60/console.c
> 2009-01-21 09:26:06.000000000 -0500
> +++ qemu-0.9.1.14778c2064166a8d1d07b22f0af9eee4fa490e60.new/console.c
> 2009-01-21 10:12:29.000000000 -0500
> @@ -1433,7 +1433,11 @@
> int dst_x, int dst_y, int w, int h)
> {
> if (is_graphic_console()) {
> - dpy_copy(ds, src_x, src_y, dst_x, dst_y, w, h);
> + if(active_console->ds == ds) {
> + dpy_copy(ds, src_x, src_y, dst_x, dst_y, w, h);
> + } else {
> + dpy_update(ds, dst_x, dst_y, w, h);
> + }
> }
> }
>
> And then it is back to proper speed for me across ssh. Does it make sense?
>
I am afraid your patch shouldn't make a difference because sdl doesn't
have a dpy_copy function so with sdl dpy_update is always called.
Besides none calls qemu_console_copy but graphic cards so passing
'-serial /dev/null -parallel /dev/null' shouldn't change anything in
this regard.
In any case I tried passing '-serial /dev/null -parallel /dev/null' as
arguments but (locally) I do not see any benefits (I tested with the
debian ppc installation cd).
Could you please tell me if you see the slowdown on a local X server also?
The sdl blitting functions are optimized to be run locally, it is
possible that they do not have good performances on a remote X server.
Fortunately we provide a much better interface to connect to qemu
remotely (vnc), that now should be even faster than before.
- Re: [Qemu-devel] Re: Extremely slow graphic updates, (continued)
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Lennart Sorensen, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Avi Kivity, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Samuel Thibault, 2009/01/20
- [Qemu-devel] Re: Extremely slow graphic updates, Stefano Stabellini, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Stefano Stabellini, 2009/01/20
- [Qemu-devel] Re: Extremely slow graphic updates, Paul Brook, 2009/01/20
- Re : [Qemu-devel] Re: Extremely slow graphic updates, Sylvain Petreolle, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Stefan Weil, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Paul Brook, 2009/01/20
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Lennart Sorensen, 2009/01/21
- Re: [Qemu-devel] Re: Extremely slow graphic updates,
Stefano Stabellini <=
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Lennart Sorensen, 2009/01/21
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Lennart Sorensen, 2009/01/21
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Stefano Stabellini, 2009/01/21
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Paul Brook, 2009/01/21
- Re: [Qemu-devel] Re: Extremely slow graphic updates, Lennart Sorensen, 2009/01/22