On 10/6/06, Willie Sippel <willie(a)zeitgeistmedia.net> wrote:
Hi there.
A patch by Iulian Marinescu was posted on Bugzilla a few days ago to optimize
client-side DIB copy operations. I tested it, and it definitely improves the
performance of a few applications quite a bit (Propellerhead Reason for
example). Even though I can't comment on the quality of the patch, it seems
to work as advertised, and I didn't notice any regressions. Would be nice to
see it in Wine, so I hope someone more competent could look into the patch
and see if it's OK. It's available at:
http://bugs.winehq.org/show_bug.cgi?id=3902
Since the patch wasn't posted on wine-patches AFAIK, I thought I should
mention it here so it doesn't get overlooked.
You don't want that patch commited. I was the one that posted it to
bug 3902 (using Iulian's work), and it's broken. Open winecfg, go to
"Audio" -> crashes. A few other apps I tried crash too.
The patch is incomplete. It _only_ calculates a dirty rectangle for
BitBlt, as opposed to the dozens of other GDI functions that need to
be dealt with. It's working as fast as possible right now (AFAICT
further improvements are impossible) and it still isn't nearly fast
enough - Heroes 4 still lags terribly when you scroll the map.
What's needed is a proper DIB engine - copying a bitmap to the X
server, modifying it, and copying it back, is always going to be slow
- copying a smaller bitmap (what this patch does) is only marginally
faster, some of the time.
Sorry to get your hopes up.
Ciao,
Willie
Bye
Damjan
--
Willie Sippel
//////// | Tritium Studios
// | ______________________________
//// /// |
http://www.tritium-studios.com
<willie(a)froq.net>