Why is DrawIndexedPrimitiveUP so much faster?

Started by
10 comments, last by Bezben 18 years, 5 months ago

Using DX8 could be the reason, but I find it strange that UP is twice as fast.

So you're creating the VB in D3DPOOL_DEFAULT, with D3DUSAGE_DYNAMIC|D3DUSAGE_WRITEONLY, and you're locking with D3DLOCK_DISCARD?
And doing the same to the IB? And its still slow?

What does your vertex update loop look like?
If yours is:

for(i=0; i<numVerts; i++)
{
vertex.position.x = newvertex.position.x;
vertex.position.y = newvertex.position.y;
...
}

and theirs is:

memcpy(vertex, newvertex, sizeof(Vertex)*numVerts);

Then that might do it.

How many draws do you do per frame? and how big is your model?

JB
Joshua Barczak3D Application Research GroupAMD
Advertisement
If you haven't already, enable the directx debugging messages via the control panel applet and crank up the output level, it might tell you of any potential performance trouble areas.

This topic is closed to new replies.

Advertisement