qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [6391] Fix nographic mode and VNC


From: Blue Swirl
Subject: Re: [Qemu-devel] [6391] Fix nographic mode and VNC
Date: Wed, 21 Jan 2009 22:44:17 +0200

On 1/21/09, Samuel Thibault <address@hidden> wrote:
> Blue Swirl, le Wed 21 Jan 2009 22:16:15 +0200, a écrit :
>
> > On 1/21/09, Samuel Thibault <address@hidden> wrote:
>  > > Blue Swirl, le Wed 21 Jan 2009 19:28:14 +0000, a écrit :
>  > >
>  > > > +static void nographic_update(void *opaque)
>  > >  > +{
>  > >  > +    uint64_t interval = GUI_REFRESH_INTERVAL;
>  > >  > +
>  > >  > +    qemu_mod_timer(nographic_timer, interval + 
> qemu_get_clock(rt_clock));
>  > >  > +}
>  > >
>  > >
>  > > Maybe less often than 33 times per second?  SDL uses 2 times per second
>  > >  when the window is minimized.
>  >
>  > I just tried: it's not enough, the serial console is unusably slow.
>
>
> Mmm, I haven't followed everything so I probably misunderstand, but I
>  guess you are talking about a serial console on stdio, shouldn't we
>  already be monitoring the stdin fd to break the cpu emulation loop?

Some other way, like SIGIO or IO worker thread, may work too. It may
also be a big change.

>  It'd be a shame to have to poll every 30ms all the time because of the
>  cpu emulation loop, even when we can just select in main_loop_wait
>  because the cpu is idle.

OpenBIOS reads the console in a busy loop, the CPU will never be idle.

Maybe the timer period could be scaled automatically: if for X periods
there has been no activity on the select() file descriptors, increase
the period by factor Y. Also if for X periods there has always been
activity, decrease the period.




reply via email to

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