Frutrated openGL user in need of laymans explanation from an openGL expert :(

Hi

Hopefully this is the place where I will get my answers. I have been struggling to get decent viewport performance with different 3D animation applications for about a period of 6 years now. I have recently started using DAZ 3D and want to upgrade my video card which is quite old GTX 460 however before I do so I want to make an informed decision before I buy versus the last time when I blew 500 euros on a completely unnecessary card that made absolutely no difference. The problem I am having is sluggish viewport performance when I build a moderate kind of scene with say a couple of buildings and a car and a person. With this kind of scene the 3D animation software becomes all but unuseable. Sluggish to a point where I cannot work anymore on the project. So. My questions are:

  • does openGL use in anyway the cuda cores on a GPU? I suspect it does not but I would like to be sure and hear it from an expert.
  • does the 3D application have to be designed to support a particular version of openGL? or will the same version of 3D application fully utilize each newer version/release of openGL and/or video cards?
  • how important is the amount of video RAM with regards to openGL performance? Can sluggish behaviour mean that the cards memory is being overtaxed by the loaded scene?
  • In terms of openGL/viewport performance in a given 3D application, will a cheap video card with say 2 GB RAM and openGL 4.4 perform exactly the same as a much more expensive video card with the same RAM and openGL version? does it make any difference?

Thanks!

Angus

These questions are impossible to answer without seeing the software.

My guess is that the problem has nothing to do with 3D hardware performance but with problems with the CPU coding that slows things down, especially since you say your scene is only moderately sized.
Do you have any information how many polygons are being drawn?

As for your specific questions:

  • does openGL use in anyway the cuda cores on a GPU? I suspect it does not but I would like to be sure and hear it from an expert.

It certainly does, provided you installed the proper driver. But as I said, 3D hardware performance is only one part of the equation.

  • does the 3D application have to be designed to support a particular version of openGL? or will the same version of 3D application fully utilize each newer version/release of openGL and/or video cards?

Unless you use some obsolete features that need to be emulated, it doesn’t matter whether you target GL 1.1, 4.4, core or compatibility profile. Don’t let yourself be confused by people saying that using compatibiliry profile features is slow. They are still magnitudes faster on new hardware compared to older cards from the time when these old GL versions were state of the art.

  • how important is the amount of video RAM with regards to openGL performance? Can sluggish behaviour mean that the cards memory is being overtaxed by the loaded scene?

That entirely depends on the resources you need. If your textures, buffers and other data are larger than the video RAM it will cost performance. You can do a quick calculation yourself. Add the numbers of pixels of all loaded textures, multiply that with 4, add the sizes of your buffers, and then add 8x the number of pixels of your screen resolution and you should have a rough idea how much you use.

  • In terms of openGL/viewport performance in a given 3D application, will a cheap video card with say 2 GB RAM and openGL 4.4 perform exactly the same as a much more expensive video card with the same RAM and openGL version? does it make any difference?

Of course the more expensive card will have better 3D performance. Whether that helps you in your specific case is another matter. If an application is CPU-bottlenecked - and as I said, that’s what I suspect, you won’t see the slightest bit of improvement, aside from possibly different driver performance.

hi nikki

Firstly, thank you very much for responding. Very much appreciated. What I would like to do is paste a link to a snagit screen capture showing you what I am seeing on my desktop. That will prove to be far more effective than trying to explain what is going on on my system. I will make and poste that video link later on today.

Nikki_k’s given you some good advice. Sounds like you’re bound by something other than GPU compute capacity. CPU, GPU memory, or something. Have you tried profiling your application and using that to narrow down the bottleneck? What have you found? How many Mtexels (texels / 2^20) are you uploading to the card? How much GPU batches are you rendering per frame? How many state change groups? How many textures are you binding?

And let’s see some inner-loop draw code. My guess is you’ve got something going on every frame that should only be happening on initialization, such as rebuilding display lists, recreating/reuploading textures, etc.

hey dark p, nikki

I am definately going to need to make a desktop video showing my problems. I will be away from my pc for a few days now so will upload the video when i get back. Thanks so much for all the help so far. I also posted another question on the daz 3d forums asking if anyone had, had the opportunity to compare performance between a GT vs GTX card for openGL viewport performance in daz. the person who responded said that they had indeed purchased and used both and discovered in terms of viewport performance in daz 3d that there was no distinguishable difference. obviously when it came to 3D applications that used directx for viewport rendering like iclone then there was a huge difference. also with applications like otoys cuda octane render. then the performance benefist were very obvious. as far as i can tell as a simple end user openGL for 3D software like rhino, daz, vue infinite, max, maya etc just seems to be the same whichever card you use. maybe technically that is not the case but certainly from an end users perspective this seems to be very much the case.

my pc specs are as follows:
Dell Precision T7400
dual quad core xeon cpu’s around 3.3 GHZ
16GB ecc RAM
OS drive is OCZ vertex 4 256 GB SSD
D; drive is 4 x 10 000 rpm sata drives striped RAID 0
primary video card is nvidia quadro FX1700 500 MB RAM
secondary card is Nvidia GTX 460 1GB RAM
i want to upgrade both my cards now but want to do it the right way and as informed as possible before I make the purchase decision.

I aso just want to learn more about video cards in general as this is the most important and relevant aspect of pc hardware concerning my chosen hobby/career namely 3D animation.

Thanks!

my question:

"Anyone had any experience here with both GT and GTX cards and DAZ 3D? Is there a performance difference? If so, how much?

Thanks in advance."

responses were:

“would be no difference really as DS does not use the card as such except for openGL preview
I got a GTX 760 last month and not noticed any
using a GPU renderer like Octane render etc on the other-hand would definitely be a huge difference
I got my card for iClone and it made a vast improvement”

another user

"I use a GT 430 for Daz and don’t have any problems, though it does slow down a bit if I have subD on a lot of props but thats easily fixed. I also have a GTX 680 that is used only for octane.

I have never tried the 680 on Daz as I really don’t think it would make any difference. As long as your drivers are up to date and your card supports the latest openGL version it really doesn’t matter what card you use. I also think the extra expense in buying an expensive GTX card if you are only going to use Daz isn’t really worth it."