DX9 Engine: Are this good timing values?

Started by
2 comments, last by Jerax 16 years, 2 months ago
Hi all! I'm working on DirectX9-based render engine for a game. Now, since it looks to me that it's somewhat slow, I'll try to describe it, and hope someone could help me. It basicly has two passes: in the first pass, all renderable items are iterated, clipped against frustum, sorted, prepared, blah, blah... and put into render queue; in the second pass, these items are pop-ed from the render queue, shaders are prepared, and geometry is rendered. No black magic, just good old classics :-) So, here are timings I got: - 1st pass takes around 5% of the game loop - 2nd pass takes around 50% of the game loop Following parts are inside 2nd pass: - D3DXEFFECT.CommitChanges takes around 40% of the 2nd pass (it's called for every object) - D3DXMESH.DrawSubset takes around 33% of the 2nd pass (it's called for every object) - D3DXEFFECT.Begin/End/BeginPass/EndPass takes around 10% of the 2nd pass - Other 17% are spent inside Particle system rendering, D3DXEFFECT.SetFloat(Array) calls, etc. Do this timings sound reasonable? Does something in them looks strange? Any help would be greatly appreciated! Thanks in advance for any comment. Best, Aleksa
Advertisement
You rendering in your Update Method? Sounds strange.
The UNIX philosophy basically involves giving you enough rope to hang yourself. And then a couple of feet more, just to be sure.I love the risk.
No, update part of engine is completely separated from rendering. I'm talking only about rendering here.
That doesn't look unreasonable.
Of course the timings you get from just timing the API calls are often unrepresentative of where the time is actually being spent by the GPU. See this link for details.

This topic is closed to new replies.

Advertisement