qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] qvm86, kqemu and video speed


From: Leonardo E. Reiter
Subject: Re: [Qemu-devel] qvm86, kqemu and video speed
Date: Wed, 13 Apr 2005 15:24:21 -0400
User-agent: Debian Thunderbird 1.0 (X11/20050116)

Just a couple of quick thoughts:

1. we too have discovered that the VGA routines are a huge bottleneck, even if KQEMU is used. As Fabrice points out, this is clearly because there is virtually no blitting optimization going on, along with the memory copies, etc.

2. I think any solution has to be broad enough to be portable to other architectures, such as Solaris, or Linux on other platforms. It would be nice to have it conditionally compile optimizations that only work on Linux, or only with KQEMU, or only with XFree86, etc. But it would also be great if some basic optimization could be done on the pixel translation routines that would be portable to any platform/X server combination.

3. I think a really simple optimization may be to inline the glue functions in vga_template.h, cirrus_vga_rop.h, and cirrus_vga_rop2.h, which is very trivial. We tried that a while back and it did improve performance a bit - for instance, it shaved 1.5 seconds off the boot time of a Windows 2000 session. Windows 2000 likes to display heavy graphics, like marquees, etc., while booting in its status dialog boxes, which is why the improvement was there I think. Maybe Fabrice or someone else can comment as to the possible consequences, other than the obvious code size increase of using inline functions (which is not much in this case) of inlining those functions. We didn't notice anything adverse, but perhaps we weren't looking closely enough :) We will keep testing over here, and if all goes well, post a patch that does this simple optimization. That is, unless anyone can chime in with a good reason not to do this of course.

4. optimizations which require SDL should be conditionally configured in case SDL is not used. For example, in the future there may be GTK-based GUIs, etc. I think there is enough basic optimization that can be done in the VGA routines themselves to gain good performance even without SDL-specific hacks. Of course SDL-specific hacks can (and probably should) still be used if SDL is configured in, since this is the default way to run QEMU.

My $0.02,

Leo Reiter

Hetz Ben Hamo wrote:
Anyone thought about using XFree's Xv extension? last time I heard, it
works with all the cards, supported well under XFree, and I think it
will be better working rather with DGA..

At least with my experience with regarding Video players, Xv was much
better than DGA.

Thanks,
Hetz


--
Leonardo E. Reiter
Vice President of Engineering

Win4Lin, Inc.
Virtual Computing from Desktop to Data Center
Main: +1 512 339 7979
Fax: +1 512 532 6501
http://www.win4lin.com




reply via email to

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