Re: [PATCH] kvm tools, ui: Optimize SDL updates

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

 



On 04.06.2011, at 13:53, Ingo Molnar wrote:

> 
> * Alexander Graf <agraf@xxxxxxx> wrote:
> 
>> Why would you need panning/scrolling for a fast FB? It's really an 
>> optimization that helps a lot with VNC, but on local machines or 
>> SDL you shouldn't see a major difference.
> 
> Qemu's fb console scrolling graphics is pretty slow to me even 
> locally so i assume that the dirty bitmap trick is not enough.
> 
> VirtualBox graphics is very fast, but it probably has its own console 
> abstraction and scrolling/2D/3D acceleration.
> 
> Also, since tools/kvm/ is really also about learning interesting 
> stuff, smooth scrolling was the historic first 'acceleration' usecase 
> that video graphics cards added - before they evolved more complex 2D 
> acceleration and then started doing 3D.
> 
> Walking that path would allow us to do a gradual approach, while 
> still having relevant functionality and enhancements at every step.

Sure, not saying scrolling is a bad thing to implement. I was merely trying to point out that the slowness you were seeing was not related to scrolling :).

>> Unless you use the FB as MMIO. Qemu just maps the FB as RAM and 
>> checks for dirty bitmap updates periodically. That way you don't 
>> constantly exit due to MMIO and are good on speed. The slowness you 
>> describe sounds a lot as if you don't do that trick.
> 
> Correct, and i assumed we already do the dirty-bitmap trick:
> 
> 	KVM_MEM_LOG_DIRTY_PAGES
> 	KVM_GET_DIRTY_LOG
> 
> But you are right, we do not actually do that!
> 
> Pekka, i think this should be the next step. We'll need scrolling 
> after that ...

Yup. If you want to do graphics, dirty bitmaps are the way to go. Please be aware that the dirty bitmap is always little endian :).

> In theory it would also be nice to tunnel the VGA text frame buffer 
> over to the KVM tool - as serial console is not supported by most 
> installers and default distro images. We could actually do a rather 
> good job of emulating it via Slang/Curses.

Yep, works pretty well in Qemu.

  $ qemu -curses ...

gives you the VGA text frame buffer through curses. Just in case you need some inspiration :)


Alex

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux