Ineffective use of VBO?

Started by
33 comments, last by maxest 14 years, 1 month ago
It's really hard to say anything about those values with more fine grained instrumented profiling. If my suspicions about Cg are true, that could easily be the cause of these timing results, since the extra function calls it looks like Cg is making are all the synchronous variety.
Advertisement
Thread reopened at request of OP...
Lastly I found a nice profiler (Very Sleepy) which shows me some very interesting stuff.
It shows, among other thing, general CPU usage and usage of threads that are part of application. First of all my application is single threaded. Yet for D3D Very Sleepy shows that applications is made of 3 threads, whereas actually only one is running at about 30-40%, and the other two do nothing. So it's okay.
But when it comes to testing OGL renderer it shows up, that the application uses 5 threads, where two of them are running at full steam! The CPU usage is almost 100%. So I choose to profile these two threads. What do I see?

http://maxest.fm.interia.pl/ogl.JPG

There are mostly calls for swietching threads and nvoglnt.

On the other hand, D3D doesn't do any thread switching and doesn't get that often into driver stuff:

http://maxest.fm.interia.pl/d3d9.JPG

Somebody can explain why OGL-based version of the same application uses two threads?
In the NVIDIA Cpanel, there's an option called "Threaded Optimization". Try seeing if that effects the thread switching.
I've turned that option off and now OGL's version is really using less CPU cycles, and of course, it uses a single thread. But unfortunately performance of the application hasn't increased. Here's the shot from Very Sleepy:

http://maxest.fm.interia.pl/ogl-one-thread.JPG

Now actually the difference between OGL and D3D, on CPU side, is that OGL spends most time in nvoglnt.
Now I would like to once more emphasise, that after I had updated drivers to fresh new, the performance of D3D version increased a bit, and performance of OGL dropped about 30%. So the problem can't be rendering itself but it's something with the drivers and communication ogl-driver

This topic is closed to new replies.

Advertisement