is there any option sycronize redenr time with DX and game app?
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?
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?
In My experience. when calling drawprimitive .. It run by driver not application so It must not syncronize with application..Most D3D commands, such as DrawPrimitive, just insert commands into a queue, which is read by the GPU
Am I wrong?
must it run by seperate thread?
Application --> Driver --> Application...
||
\/
Commands, Commands, Commands, Commands
|| ||
\/ \/
GPU Front-end
||
\/
GPU Execution Units
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.
What optimisations did you do?
I optimize that game's fps 5 to 42 .. but I still don't understand what happen
Most D3D commands, such as DrawPrimitive, just insert commands into a queue, which is read by the GPU
[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?
Application --> Driver --> Application...
||
\/
Commands, Commands, Commands, Commands
|| ||
\/ \/
GPU Front-end
||
\/
GPU Execution Units
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.
What optimisations did you do?
I optimize that game's fps 5 to 42 .. but I still don't understand what happen
[/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..
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement