• Advertisement
Sign in to follow this  

is there any option sycronize redenr time with DX and game app?

This topic is 1855 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

is there any option sycronize with DX and game app?

I did tune about Korea's MMO RPG game..

what is so shocking is drawprimitive's start time and end time is too long..It take all time about rendering

In My experience. when calling drawprimitive .. It run by driver not application so It must not syncronize with application..

Am I wrong?

must it run by seperate thread?

what happened?

ah I never measure drawprimitive time before..

I optimize that game's fps 5 to 42 .. but I still don't understand what happen

any idea?

Share this post


Link to post
Share on other sites
Advertisement
[quote name='GeniusPooh' timestamp='1356013172' post='5012804']In My experience. when calling drawprimitive .. It run by driver not application so It must not syncronize with application..
Am I wrong?
must it run by seperate thread?[/quote]Most D3D commands, such as DrawPrimitive, just insert commands into a queue, which is read by the GPU
[code]Application --> Driver --> Application...
||
\/
Commands, Commands, Commands, Commands
|| ||
\/ \/
GPU Front-end
||
\/
GPU Execution Units[/code]
It can run in the same thread as the application, but the CPU has to switch into 'kernel mode' in order to call driver code, which has some overhead.

Also, the amount of work done in a draw call depends on how much state has been changed before that draw-call. D3D will check 'dirty flags' on the different states to determine which commands must be sent.
[quote name='GeniusPooh' timestamp='1356013172' post='5012804']
I optimize that game's fps 5 to 42 .. but I still don't understand what happen
[/quote]What optimisations did you do? Edited by Hodgman

Share this post


Link to post
Share on other sites
[quote name='Hodgman' timestamp='1356014305' post='5012808']
[quote name='GeniusPooh' timestamp='1356013172' post='5012804']In My experience. when calling drawprimitive .. It run by driver not application so It must not syncronize with application..
Am I wrong?
must it run by seperate thread?[/quote]Most D3D commands, such as DrawPrimitive, just insert commands into a queue, which is read by the GPU
[code]Application --> Driver --> Application...
||
\/
Commands, Commands, Commands, Commands
|| ||
\/ \/
GPU Front-end
||
\/
GPU Execution Units[/code]
It can run in the same thread as the application, but the CPU has to switch into 'kernel mode' in order to call driver code, which has some overhead.

Also, the amount of work done in a draw call depends on how much state has been changed before that draw-call. D3D will check 'dirty flags' on the different states to determine which commands must be sent.
[quote name='GeniusPooh' timestamp='1356013172' post='5012804']
I optimize that game's fps 5 to 42 .. but I still don't understand what happen
[/quote]What optimisations did you do?
[/quote]


Ah yes mostly drawcalls just gathering and packing odering to DX..

but that case It's not .. all drawcall cost exact time of rendering... (ah It's gambryo base game what I tuned ) so that why I post read thread....

----------------------------------------------------------------------------------

ah I clear all gabage code and rewrite terrain engine and all shader and post effect shader

It's run Geforce 6600 pentium 4 . 42 charactor and 500m viewing terrain and speed tree.. two light specular and reflection map

but I think If I could solve this problem at that time .. I may get more improvement at that project...I didn't have enough time for that..

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement