Open GL core profile: Better or not?

Open GL core profile: Better or not?

Ex_Machina_Engineering
Advocate Advocate
5,851 Views
11 Replies
Message 1 of 12

Open GL core profile: Better or not?

Ex_Machina_Engineering
Advocate
Advocate

SO here is my question, simple enough:

 

Is Open GL Core Profile a better solution for performance? I've been having performance issues in Fusion 360 on very large assemblies with fairly recent hardware.

 

P.S. Asus TUF A15 2021

Ryzen 7 5800H

RTX 3060 Laptop

16GB RAM - 3200MHz

0 Likes
Accepted solutions (1)
5,852 Views
11 Replies
Replies (11)
Message 2 of 12

jhackney1972
Consultant
Consultant

I do not believe it will make any noticeable difference in performance but may give much better graphics, depending on your graphics card and drivers.  One thing that will help is to make sure you have the Limit effects to optimize performance checked.

Optimize.jpg

 

John Hackney, Retired
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature

0 Likes
Message 3 of 12

TrippyLighting
Consultant
Consultant

What kind of performance issues?

Can you describe that in more detail?

Can you specify "very large" ?

 

 


EESignature

0 Likes
Message 4 of 12

Ex_Machina_Engineering
Advocate
Advocate

The performance issues I'm getting are the following:

 

  • Taking 30sec to 1min to isolate a part. (So, single part after that)
  • Low fps after that
  • Taking 15-20sec to start a command

All while the CPU and GPU are below 20% utilization. I thought maybe the Open GL API could handle that a bit better since it's a more traditional API for CAD than DirectX. Maybe, utilize the GPU and CPU more...

 

"Large" is over 300 components when you account for the screws, nuts, and washers. All joined accordingly.

 

My main issue is waiting around for a minute on each click with the CPU and GPU at 8%. I've forced GPU to handle Fusion in Windows and even so sometimes the GPU clock drops to 210MHz (power saving) while I'm working. On NVidia Studio drivers, btw.

 

This is not a common occurrence but there seems to be a part count where performance drops sharply. Especially when there are joints across assemblies and subassemblies.

 

EDIT: Limiting effects won't really matter because I am getting excellent performance when the entire assembly is visible and working on the top level, and the issues start when drilling a few subassemblies down. Also, it seems to happen with 1 or 2 components on screen. If everything is on screen it works like a charm. I think the API is just not pushing the GPU correctly.

 

Had this on my older system too (Intel i5-4570, Radeon HD7970 GHz, 16GB RAM 1600MHz), but that suffered more often and I attributed that to the general performance of the system.

0 Likes
Message 5 of 12

MichaelT_123
Advisor
Advisor

Hi Mr Ex_Machina_Engineering,

 

Consider checking

  1. memory utilization
  2. disk activity
  3. presence/absence of page.sys on the disk activity list

Regards

MichaelT

 

MichaelT
0 Likes
Message 6 of 12

Ex_Machina_Engineering
Advocate
Advocate

Memory steady at 9/16GB

No (real) disk activity

I didn't check for page.sys

 

But basically, it's not background processes. If I make a top-level sketch and extrude it cutting 50 components, it's quite happy to do it. That's what's frustrating...

0 Likes
Message 7 of 12

TrippyLighting
Consultant
Consultant

Thanks for providing those details.

300 is not a large component count. The often state performance "limit" is 1000+ components but I've seen models that perform just fine over that limit.

 

The symptoms you describe do not sound like graphics performance issues they sound more like selection issues and timeline re-computation issues. Is that assembly a design you can share ?

 

In general, most CAD systems don't utilize much of the GPU  and not much of the CPU. Anything that has to do with creation/computation of geometry is preformed by the geometric modeling kernel. The development on most geometric modeling kernels (ASM a fork of the early ACIS kernel in this case), started before multi core processors and multi threading were a thing. Also, a lot of the the math that builds the foundation of these kernels does not lend itself to parallelization. 

CAD systems perform best on computers with fewer cores but high clock frequency.

 

 


EESignature

0 Likes
Message 8 of 12

Ex_Machina_Engineering
Advocate
Advocate

No, unfortunately, I cannot share the assembly.

 

As for the utilization in CAD. The GPU is going into power save mode when Fusion hangs. That means that nothing is asked of it. And the CPU is hovering around 5-8%. Which is basically idling in Windows. Again, this happens when working on isolated components inside subassemblies. Not when executing commands at the top level that will affect tens or hundreds of components.

 

So something is going wrong there. Fusion just blacks out when it's asked to work on a single component of an assembly of a few hundred. Maybe it's offended and thinks that single components are beneath it...

 

Now, back on topic (please).

 

Will the Open GL API utilize more of the hardware, or not? Or is it irrelevant?

 

EDIT for info accuracy:

 

Component.Counts
With Overrides: LeafOccurrences 1163: Bodies 1217: VisibleLeafOccurrences 1163: VisibleBodies 1217: LeafOccurrencesWithVisualMaterialOverrides 163: OccurrencesWithTransformOverides 1070

0 Likes
Message 9 of 12

TrippyLighting
Consultant
Consultant
Accepted solution

Based on this thread I would conclude that Open GL core should offer improved performance. But the thread is pretty old and hardware and OS have significantly changed since then.

If that does not answer your question, I can take this to the EE Slack Channel. Feedback might take a while though.

 

Also, in this thread on the Feedback Forum @dvd.mlm is asking for "slow assemblies". This might present a good opportunity for the Fusion 360 team to look into.

 


EESignature

0 Likes
Message 10 of 12

HughesTooling
Consultant
Consultant

@Ex_Machina_Engineering wrote:

No, unfortunately, I cannot share the assembly.

 

As for the utilization in CAD. The GPU is going into power save mode when Fusion hangs. That means that nothing is asked of it. And the CPU is hovering around 5-8%. Which is basically idling in Windows. Again, this happens when working on isolated components inside subassemblies. Not when executing commands at the top level that will affect tens or hundreds of components.

 

 


What is the clock speed showing when you see 8%? Fusion will basically run one thread flatout when it's working hard, my PC with 8 threads will show 17% but the speed will go up to the max, more threads and cores would make no difference apart from the Utilisation would drop, 16 cores would show 8%.

 

Would you be able to share the design with someone from Autodesk like @jeff_strater ? 

 

Mark

Mark Hughes
Owner, Hughes Tooling
Did you find this post helpful? Feel free to Like this post.
Did your question get successfully answered? Then click on the ACCEPT SOLUTION button.

EESignature


0 Likes
Message 11 of 12

Ex_Machina_Engineering
Advocate
Advocate

When I'm using Fusion I plug the laptop in to get better screen brightness and colour accuracy. That puts the laptop into the predefined "Turbo" mode which basically pins the processor to 3.9-4.0GHz all core (8-core, 16-threads) if thermals allow it.

 

5-8% is basically Windows idling. None of the cores shows any spikes in utilization in the Windows Task Manager when waiting for the extrude command to start, for example... When furiously rotating and zooming at top assembly level the utilization goes up to 15-20%. Don't have an fps counter on but it seems to be good enough. I'd say... 50-60fps. But bear in mind that I thought my assembly had 300 parts and it had 1100+.

0 Likes
Message 12 of 12

TrippyLighting
Consultant
Consultant

@Ex_Machina_Engineering wrote:

... utilization in the Windows Task Manager ...


I overlooked that "Windows" part. I doubt that OpenGL core has any performance advantages over DirectX in Fusion 360 on Window's machines.

On macOS there is no DirectX so there OpenGL is the only API available. 


EESignature

0 Likes