On 6/9/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
This is a resend of my ddraw rewrite, with some modifications Alexandre asked for. I removed the whitespace fixes from the files which are taken from the old ddraw code(light.c, material.c, clipper.c, viewport.c, executebuffer.c, ddcomimpl.h, ddraw_thunks, surface_thunks). There are no functional changes compared to the old patch, except a small change to forward the SYSTEMMEM and WRITEONLY flags for vertexbuffers to WineD3D.
The other files which have the same name as in the old code(main.c, vertexbuffer.c): Those are rewrites(file deleted and re-created), so I won't get a useful diff for them, no matter what I do.
ChangeLog: Stefan Dösinger: Use WineD3D for DDraw
I just want to state, the patch is very helpful when you can't use DGA. I just ran a test with Starcraft in multiplayer last night. Using OpenGL is noticibly faster than non-DGA. So I hope that it will get applied for 0.9.16.
Jesse
Hi,
I just want to state, the patch is very helpful when you can't use DGA. I just ran a test with Starcraft in multiplayer last night. Using OpenGL is noticibly faster than non-DGA. So I hope that it will get applied for 0.9.16.
Did you run it with opengl and this patch, or with Rodericks ddraw patch?
On 6/9/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
Hi,
I just want to state, the patch is very helpful when you can't use DGA. I just ran a test with Starcraft in multiplayer last night. Using OpenGL is noticibly faster than non-DGA. So I hope that it will get applied for 0.9.16.
Did you run it with opengl and this patch, or with Rodericks ddraw patch?
I ran it with your patch. I'm not familiar with Rodericks patch.
Am Samstag, 10. Juni 2006 01:40 schrieb Jesse Allen:
On 6/9/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
Hi,
I just want to state, the patch is very helpful when you can't use DGA. I just ran a test with Starcraft in multiplayer last night. Using OpenGL is noticibly faster than non-DGA. So I hope that it will get applied for 0.9.16.
Did you run it with opengl and this patch, or with Rodericks ddraw patch?
I ran it with your patch. I'm not familiar with Rodericks patch.
And it worked with SURFACE_OPENGL? Wow, I wasn't aware of that :-) All ddraw games I tried (aow2, anno 1602, worms2) failed with opengl surfaces.
On 6/10/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
Am Samstag, 10. Juni 2006 01:40 schrieb Jesse Allen:
On 6/9/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
Hi,
I just want to state, the patch is very helpful when you can't use DGA. I just ran a test with Starcraft in multiplayer last night. Using OpenGL is noticibly faster than non-DGA. So I hope that it will get applied for 0.9.16.
Did you run it with opengl and this patch, or with Rodericks ddraw patch?
I ran it with your patch. I'm not familiar with Rodericks patch.
And it worked with SURFACE_OPENGL? Wow, I wasn't aware of that :-) All ddraw games I tried (aow2, anno 1602, worms2) failed with opengl surfaces.
Oops, I didn't know about the option. It's running with GDI. But just replacing the DDraw library sped it up. Probably depth conversion? OpenGL don't work.
Jesse
Hi,
Oops, I didn't know about the option. It's running with GDI. But just replacing the DDraw library sped it up. Probably depth conversion? OpenGL don't work.
Hmm. No idea. SURFACE_GDI should be as fast as the old ddraw code, the rendering is the same.
There is a registry key, HKLU\software\wine\direct3d\DirectDrawRenderer. It can be set to "gdi" to force gdi surfaces, or "opengl" to force opengl surfaces. If "gdi" is set, Direct3D is mutually disabled.
But still it is interesting that it is faster...
On 6/11/06, Stefan Dösinger stefandoesinger@gmx.at wrote:
Hi,
Oops, I didn't know about the option. It's running with GDI. But just replacing the DDraw library sped it up. Probably depth conversion? OpenGL don't work.
Hmm. No idea. SURFACE_GDI should be as fast as the old ddraw code, the rendering is the same.
There is a registry key, HKLU\software\wine\direct3d\DirectDrawRenderer. It can be set to "gdi" to force gdi surfaces, or "opengl" to force opengl surfaces. If "gdi" is set, Direct3D is mutually disabled.
But still it is interesting that it is faster...
The slowness is observed in the multiplayer mode with another peer, not single player, and without your patch. With your patch, the slowness is gone. When you have another peer, the game fires off many udp packets to keep each other in sync. So each game packet basically tells the peers what actions the user it performing. Once you get packets from all the peers for each game "second" it updates the state of the game, and probably draws the screen accordingly.
So the net code in the game while in this mode directly affects the drawing speed. Perhaps it is something with our net code causing the slowness, but your patch counteracts somehow, perhaps architechurely since you really made no code changes to the GDI part.
(Note with DGA, I believe fixes the slowness too so...)
Jesse