d3d8 vs d3d9 performances

d3d8 vs d3d9 performances

Post by grob » Thu, 03 Jul 2003 22:16:14



I'm porting a d3d8 app to d3d9.
For testing performances, i render a simple triangle and i
export result in system memory.

- In D3D8 : render in backbuffer and transfert in sys mem
by copyrect of the backbuffer in sysmem texture surface.
- In D3D9 : render in a render target (in video mem) and
transfert in sys mem by getrendertargetdata

In result, d3d9 app is 10x slower than d3d8 app...

What's the problem?
What the implementation difference between copyrect and
getrendertargetdata?

P.S : with radeon 9000 mobility, GF4TI4800SE, GF4MX460

 
 
 

d3d8 vs d3d9 performances

Post by Phil Taylo » Fri, 04 Jul 2003 01:20:54


do the SDK samples show the same slowdown?

if not, I suspect you missed something in the port. check out the samples
and the "Moving to DX9" doc section.

--


Quote:> I'm porting a d3d8 app to d3d9.
> For testing performances, i render a simple triangle and i
> export result in system memory.

> - In D3D8 : render in backbuffer and transfert in sys mem
> by copyrect of the backbuffer in sysmem texture surface.
> - In D3D9 : render in a render target (in video mem) and
> transfert in sys mem by getrendertargetdata

> In result, d3d9 app is 10x slower than d3d8 app...

> What's the problem?
> What the implementation difference between copyrect and
> getrendertargetdata?

> P.S : with radeon 9000 mobility, GF4TI4800SE, GF4MX460


 
 
 

d3d8 vs d3d9 performances

Post by Dan Baker [MS » Fri, 04 Jul 2003 06:23:45


The d3d9 debug is much slower due to much more validation, and the
definition of present has changed causing some apps to lock with the refresh
rate (i..e if your frame rate is 60-85...) .

Does this repro with retail?

Dan Baker
Direct3D


Quote:> I'm porting a d3d8 app to d3d9.
> For testing performances, i render a simple triangle and i
> export result in system memory.

> - In D3D8 : render in backbuffer and transfert in sys mem
> by copyrect of the backbuffer in sysmem texture surface.
> - In D3D9 : render in a render target (in video mem) and
> transfert in sys mem by getrendertargetdata

> In result, d3d9 app is 10x slower than d3d8 app...

> What's the problem?
> What the implementation difference between copyrect and
> getrendertargetdata?

> P.S : with radeon 9000 mobility, GF4TI4800SE, GF4MX460

 
 
 

1. Why locking backbuffer on D3D8 may decrease performance?

I have read on the DirectX docs and in other documents that locking a
backbuffer with Direct3D 8 to directly write to video memory decreases
performance on some video cards.

Why is that?. Is it any worse it was with DirectDraw 7?. Are there any
tricks to maximize performace while using lockable backbuffers? (like
locking/unlocking backbuffer just once per frame, or doing it at a specific
time with respect to other Direct3D operations based on primitive drawing)

Any help will be appreciated.

Anders

2. rendering artifacts - 2.0NT

3. Performance Animation Recorder, Amiga vs PC vs Mac

4. Looking for a converter of tiff 2 pcx

5. Mac performance 601 vs 604?

6. A curious problem...

7. VPro V6/V8 performance vs MXE

8. OpenGL line vs. quad performance problem

9. Price/Performance info on SGI vs Competition?

10. Iris vs. OpenGL O2 performance, documentation

11. Performance of R5000 vs R4400