Similar Threads:
1.FX 5600 DX8.1 compatibility question
Hi,
I'm about to buy a FX 5600 or 5700 (or maybe the ATI 9600 equivalent) to have a VS/PS 2 card. The seller tolds me I have to install dx9 to have it working properly. But I'm working with dx8.1 and I'm not ready to change all my work to dx9. Is he true? I think it must work with any dx version, isn't it? maybe depending on a driver to install?
thanks
pb
2.Performance factors between DX8 and DX9?
I seem to recall someone publishes some caveats regarding performance when
moving from DX8 to DX9.
I'm interested because my VB/IB rendering of a skinned/animated 47000 poly
mesh has gone from 160fps+ to 50...
Anybody recall something like that?
WTH
3.EnumAdapterModes changes (DX8.1 to DX9)
I'm looking into the changes made to enumadaptermodes in DX9, and I'm wondering wether I'm misunderstanding the SDK help, or if it's just wrong.
In the Converting to DX9 article, under "EnumAdapterModes Changes", it says the following:
quote:
--------------------------------------------------------------------------------
The application specifies a pixel format and the enumeration is restricted to those display modes that exactly match the format. The following is a list of the allowed formats:
D3DFMT_X8R8G8B8
D3DFMT_A8R8G8B8
D3DFMT_A2B10G10R10
D3DFMT_X1R5G5B5
D3DFMT_A1R5G5B5
D3DFMT_R5G6B5
--------------------------------------------------------------------------------
Hang on.. Display modes that match Alpha formats? Surely that can't be right? Shouldn't the list consist solely of D3DFMT_X8R8G8B8, X1R5G5B5 and R5G6B5? After all, those are the only allowable display formats, right?
But hang on, the sdk continues:
quote:
--------------------------------------------------------------------------------
Enumeration is equivalent for alpha and nonalpha versions of the same format. The returned FORMAT member of D3DDISPLAYMODE will always be filled with the same format supplied by the application.
--------------------------------------------------------------------------------
Ah. So... If I supply the function with A8R8G8B8, it'll return modes supporting X8R8G8B8? Let's run a quick test.. No, it doesn't. EnumAdapterModes fails when supplying it with A8R8G8B8, but it succeeds when supplying it X8R8G8B8.
Oh yeah, another weird thing in that same article:
quote:
--------------------------------------------------------------------------------
This method treats 565 and 555 as equivalent, and returns the correct version in the Format.
--------------------------------------------------------------------------------
Nope. Also not true. Enumerating with 565 works, but enumerating with x1R5G5B5 fails. So it does -not- treat them as equivalent.
So... What is up with that? The Enumeration is apparently -not- equivalent for alpha and nonalpha versions of the same format, nor is 565 equivalent to 555. So why does the SDK claim it is? And why does it list alpha formats as possible display formats?
Anyone?
4.DX8 to DX9 texture troubles
I've managed to pretty much convert my app to DX9 as far as the geometry
renders correctly, but the texture coordinates seem to be wrong. The correct
textures are complety skewed and tiled across the polys and the vertices
seem to have been coloured. At the moment it looks as if my scene has a
patch work effect. I'm using custom vertex shaders with fixed function pixel
shaders. I'm assuming it is a texture/sampler state problem. It all work
fine under DX8, so the core data should be correct, I did have to setup an
FVF as the DX8 version didn't. Sorry this is a bit vague, but it seems like
the sort of thing other people may have encountered.
Oh yeah, non textured objects render fine.
5.Converted test app is slower in DX9 than in DX8
Hi there,
I've been working in DX8 up to now but am currently moving to DX9. I have
therefore tried to convert a test application to DX9 but discovered that
it's now much slower than before. I moved from about 150 fps to about 70,
which is obviously not what I expected...
The application calls D3DXCreateMeshFVF and sets the vertices and indices.
It them simply rotates the mesh, so it's not especially advanced code. The
scene has one light and specular highlights are enabled. It seems to be the
call to ID3DXBaseMesh::DrawSubset that is slower.
I'm really puzzled over this and have no idea what I have done wrong. I did
the conversion by replacing "8" by "9" in all interface and function names
(and some other smaller modifications) abd everything seems to work. It's
just that it's slow.
I would be really grateful for any advice on this issue. I'm happy to post
some code if that helps, just tell me.
BTW, my old DX8 program still executes with the same speed as before,
eventhough I have now installed the new DirectX version. Thus it's not a
driver problem.
My system is a 733 MHz PIII, GeForce 2 GTS, Windows XP Pro.
Thanks in advance,
Emil
6. 2D game - which way - DX8 or DX9
7. Converting DX9 to DX8
8. Is it possible to specify that my code is to use Version DX8 on a DX9 installation?