Sign in to follow this  

OpenGL DirectX Performance Measurement

Recommended Posts


I want to measure out, how fast my code is at a spezific part of the program. I use GetTickCount like that:

ULONGLONG tick1 = GetTickCount64();

[ Graphics code, GPU etc. ]

ULONGLONG Tick2 = GetTickCount64();

std::cout << "Ticks: " << Tick2 - Tick1 << std::endl;

Not a big deal. In OpenGL, i need the command "glFinish()" to make sure, all work which is in the GPU pipeline ist done (before measurement).

Now the question:
> What is the aequivalent to glFinish (OpenGL) in DirectX? <

Thank you

Share this post

Link to post
Share on other sites
There are a few options in D3D. For example if you wrap the code to test in an occlusion query and then read the result of that query it will force the CPU to wait for that GPU work to complete.

However that won't always be a very accurate measure of overall performance as GPUs can do multiple tasks in parallel. I'd normally suggest measuring frame time (in milliseconds per frame). Alternatively try using a tool like PerfHud or PIX.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this