[Bug 8194] Ddraw patch crashes Europa Universalis II and Victoria at start-up

Wine Bugs wine-bugs at winehq.org
Fri Jun 8 16:36:26 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=8194





------- Additional Comments From stefandoesinger at gmx.at  2007-08-06 16:36 -------
No, the game didn't feel slow here. You can get rid f the error messages by 
running them with WINEDEBUG=-all . Its not the fastest though. WINEDEBUG=fps 
gives me 30 fps ingame, mostly independent of the scene rendered. This is on 
an intel core 2 duo in powersafe mode(1ghz).

The old ddraw code gets 35 fps, I think it is faster because of the 
asynchronous frontbuffer update hack Alexandre didn't accept back after the 
merge. This could speed things up on my dual core cpu since the offscreen 
frontbuffer -> window HDC blit is one of the main performance hogs. Otherwise 
the 2D rendering code stayed the same pretty much.

The major change during the rewrite was the d3d code. The ddraw(2D) rendering 
code from old ddraw(dlls/ddraw/surface_dib.c) was moved to 
dlls/wined3d/surface_gdi.c, but the old direct3d7 implementation from 
dlls/ddraw/device_opengl.c was dropped, and ddraw uses the d3d8/9 
implementation now(which supports all d3d versions now, based on the features 
of the opengl implementation found).

WineD3D also has a (rudimentary) hardware accelerated DirectDraw 
implementation based on opengl. You can enable it by setting the following 
registry key:

HKEY_CURRENT_USER/Software/Wine/Direct3D/DirectDrawRenderer = "opengl"

The code that gets activated by that is mainly used to make Direct3D games 
happy which perform DDraw Blits on the d3d target. The opengl'ed ddraw 
renderer does not cope well with the nastiness of many ddraw apps, like render 
target locking or GetDC on render targets though. And the drivers don't do 
that either. So in most cases the hardware ddraw is slower, or does not work 
at all. I get 30 fps with it, so EU2 works surprisingly well that way.



-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the wine-bugs mailing list