SpreeTree
06-27-2005, 01:35 PM
I have been having a problem which I am having trouble seeing though, so I am throwing it out here to see if any of you have encountered this before.
The application is written in C++ with DirectX 9 (June 2005 update).
My dev machine has a GeForce 4, and my secondary machine is a poor laptop with an Intel card. My current project is getting a decent frame rate (~140fps) on my GeForce PC, and decent(ish) fps on the laptop.
Unfortunately, when run on a Radeon based PC (Radeon 9700 and 9800 Pro), the frame rate drops significantly (were talking dropping to about 15-10 fps). Unfortunately, I can’t debug on this machine (its a friends machine, at work, and he lives on the other side of the country... Debugging across MSN is not pleasant).
I know due to the limited profiling I can do that it is without doubt in the drawing code, and more specifically, it seems to be the alpha based drawing code, and even more specifically (but I’m not so sure about this bit) the colour keying draw code.
I have checked that the device state is correct (using ValidateDevice(…)) and so I’m pretty sure I have set everything up correctly. All I can assume is that when creating the index buffer I’m missing something out that might be Radeon specific.
I’m rendering the primitives using DrawIndexed primitive, using triangle lists.
Has anyone experienced anything like this before? If you have, any advice would be more than appreciated.
Thanks.
The application is written in C++ with DirectX 9 (June 2005 update).
My dev machine has a GeForce 4, and my secondary machine is a poor laptop with an Intel card. My current project is getting a decent frame rate (~140fps) on my GeForce PC, and decent(ish) fps on the laptop.
Unfortunately, when run on a Radeon based PC (Radeon 9700 and 9800 Pro), the frame rate drops significantly (were talking dropping to about 15-10 fps). Unfortunately, I can’t debug on this machine (its a friends machine, at work, and he lives on the other side of the country... Debugging across MSN is not pleasant).
I know due to the limited profiling I can do that it is without doubt in the drawing code, and more specifically, it seems to be the alpha based drawing code, and even more specifically (but I’m not so sure about this bit) the colour keying draw code.
I have checked that the device state is correct (using ValidateDevice(…)) and so I’m pretty sure I have set everything up correctly. All I can assume is that when creating the index buffer I’m missing something out that might be Radeon specific.
I’m rendering the primitives using DrawIndexed primitive, using triangle lists.
Has anyone experienced anything like this before? If you have, any advice would be more than appreciated.
Thanks.