Чистый лист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.