qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [HACK] Demo for higher speed on large display (cirrus_vga)


From: Juergen Pfennig
Subject: [Qemu-devel] [HACK] Demo for higher speed on large display (cirrus_vga)
Date: Mon, 16 Jan 2006 15:42:50 +0100
User-agent: KMail/1.7.2

Hello,
although I will integrate this into my patchset this not a proposed patch
for qemu. This hack just shows that the current implementation of updating
the emulated screen is inefficient and needs improvements.

(1) 1280 px width does not work well (16 bit only) - too slow to be usefull
(2) 1024 px width for 24 bit gets faster by this patch, all other modes
    are not accelerated.

IMPROVEMENT:

- the original code almost always updates whole lines (e.g. the whole screen
  width). This even happens if you move the mouse.
- this code monitors the min/max horizontal limits to reduce the updated
  area.
- as a side-effect the code optimises the idle cpu time requirement (qemu
  checks every 30ms for screen updates).

TIPS:

- You can compile cirrus_vga.c with -O3 (but not the remainder of qemu!)
- In win2003 enable full hw acceleration and disable write combining.

KNOWN PROBLEMS:

(a) for this hack: it is ugly but IT WORKS (1024 px 24 bit only).

(b) other: when you try to change the screen resolution from inside win
    2003 the display might get garbeld - but you can still read it. You
    must reboot windows to get a correct display. THIS IS NOT A PROBLEM
    OF THIS PATCH.

I hope that some genius will do a much nicer patch that fixes also problem
(b). Would be nice if a way could be found to support 1280x1024 with 24 
bits. The cirrus emulator itself is quite cool.

Yours J├╝rgen

Attachment: patch3_cirrus
Description: Text Data


reply via email to

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