[Top][All Lists]
[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
patch3_cirrus
Description: Text Data
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] [HACK] Demo for higher speed on large display (cirrus_vga),
Juergen Pfennig <=