Archived

This topic is now archived and is closed to further replies.

jakubricny

QUAKE3ARENA renderer - low performance under Direct3d

Recommended Posts

Hi! I''m implementing direct3d render of q3 arena bsp files. it is surprising, that an opengl renderer that doesn''t perform frustum culling and PVS is aprox 2x faster than mine implemenation! I looked at the source code of opengl version and they don''t do even texture-switching optimization (which is important becasue I use 2 maps - texture and shadowmap). Where can be the problem? I use one huge verte buffer , than reoorganize stuff to have only mininumum of texture-switch calls and then i use drawindexedprimitive. Does anybody know why Direct3d is so slow? please help me!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
it should NEVER cross your mind that DirectX is slower than OGL .I guess ur speed problem comes from the way you handle DrawPrimitive calls . If ur renderer is at primary stages , having the code to a URL would make it easier for us to spot the problems .

Share this post


Link to post
Share on other sites
Carmack is untouchable [Except maybe by Tim Sweeny]

Agreed, one should never think that OpenGL faster/slower than DirectX in principle. It really comes down how well you use the API and how efficient your engine is.

Converting[copying] code from OpenGL to DirectX is not inherently simple, you cant just stuff everything in one big dynamic vertex buffer and hope for the same performance. You wont get it. The one exception is GL Display Lists and compiled vertex arrays, you should get the same performance with a ''STATIC'' Vertexbuffer.

The closest to OpenGL''s glVertex/glTexCoord you are going to get it creating an in memory array and using drawPrimitiveUP. Might be worth a try, I have found in some cases it is way faster.

One thing to look at is How big is your vertex buffer? You may be wasting a huge amount of time uploading verticies you are not using (IE a vertex buffer of 8000 verticies for one triangle is silly).
Another thing is make sure you are not spending too much time trying to optimize the rendering (By Texture/Transform/Organizing into indexed triangles etc) you may actually be slowing yourself down...




-=-=-=-=-=-=-=-=-=-=-=-=-=-
Mythical Masterpieces
http:\\www.leviathan3d.com

Share this post


Link to post
Share on other sites