Чистый листI have Celeron333@417+MatroxG200, FC1, kernel 2.6.6 latest Wine
and try to speedup StarCraft. IMHO, there is bug in mga video driver or
something related that do not allow wine to switch video modes from 16 to 8
bit and Wine falldown to 16->8 emulation. I seen the same in some posts at
wine-devel. Week ago I try StarCraft on Athlon 2500@3200+ATI Radeon8500,
same FC1,Wine and amazing how small speed increase. Using oprofile I track
that 99% CPU spend in dib.c in X11DRV_XXXX_8 (sorry don’t remember exactly).
Using printf I investigate that 99% CPU used to convert internal wine 8bit
with palette 640x480 picture to 16 bit format. There is some asm magic
there, I try to speedup it ( lodsb/loop was be slowest instr. in IA86 at
least at Pentiun Classic ) and replace by my 8X loop unroll code but nothing
changes.
The question is: Does anybody look at curent directx 2d code alg ? May be
StarCraft engine use some “update region” and current Wine DirectX does not
track clip list exactly, so Wine waste CPU converting big 640x480 but not
small regions ? And what status of dga2 , why it cannot change color depth ?
/dev/mem permissions is 777. I try StarCraft as root and in 8 bit desktop
and it load main menu and completely block keyboard and mouse (btw, menu
animation work really fast J) so I must press reset to reboot.