GPU clock is high

@stevebaer @nathanletwory @jeff

Inspired by this:

I checked the GPU load using GPU-Z.

When there is no Rhino running, the GPU clock is as low as expected:
image

When Rhino runs, the GPU clock is at a high value (not maximum).
Even if there is no action in Rhino.
This is seen in Rhino 5 to 8.
And, regardless what happens in Rhino, the GPU clock never reaches maximum.


I thought that is normal behavior when an OpenGL canvas is on the screen.
So I checked the GPU clock when using other software that displays geometry using OpenGL.

No other program I have shows this high GPU clock when the program is idle.
Except games with their constant rendering.
All CAD/modelling programs don’t show this high GPU clock.


So when Rhino is running, the GPU clock is always high.
The GPU temperature gets high even when nothing is going on.
This means that Rhino is consuming energy for no real reason.
You won’t notice this on a regular PC, but you will on a notebook.
The result is constant fan noise and shorter battery life.


On Raytracing, the GPU clock raises to max, when finished it lowers to the former high value.

3 Likes

GPU-Z also tells me GPU Board Power Draw.
RTX 2070 in here.

18W Desktop only
43W V8 running, idle

25W for Rhino

Let’s assume a single user runs Rhino 6h per day and 200 days per year.
25W * 6 * 200 = 30000W = 30kWh

1 Like

I played with the NVidia control panel, and changed the energy mode for Rhino 8 WIP:

With this setting Rhino 8 behaves as expected.
I can’t see a performance impact.
On the contrary: The GPU clock can go higher than without this setting.

The question is, why is this necessary for Rhino only?
In any case, a user shouldn’t have to struggle with such tweaks, it should just work ok.



Thoughts…
I have a suspicion:
The NVidia driver assumes Rhino is a game and then drives it at max. performance by default.
Perhaps all the other software is not considered a game?

Interesting:
I cleared all program specific settings from the NVidia control panel.
And verified that the GPU clock stays high when a V6/7/8 Rhino runs.
Then I changed the energy setting for V7 only.
Result is, V6 and V8 are affected by the setting as well.
Which is good.
But what’s the system behind this?

Again cleared all program specific settings from the NVidia control panel.
Any Rhino runs with high GPU clock - expected.

So I thought it might depend on the EXE filename, ‘rhino.exe’ is listed in the NVidia listbox:
image

I renamed another program executable to Rhino.exe.
But no, that’s not it, GPU clock is low with this renamed executable.

Then the other way around:
I made a copy of Rhino.exe and renamed the copy to ABC.exe.
No luck, Rhino won’t start with the renamed exe.

1 Like

Yeah, Nvidia control panel targets app by executable names (not Full path) , you can try the other method like this, rhino will underclock when it is idle.

so when you interact with the UI, rhino will return to Idle clock after 10 seconds.

If you want to control the GPU performance per version you can try the windows route for controlling GPU usage per application.

1 Like

On Win10, there is no hint in the NVidia control panel about the Windows settings.
But they are available after a few clicks.
I don’t want to play with it at the moment to avoid confusion.


I think this issue of wasting energy is important.
And it shouldn’t happen even if the user doesn’t fiddle with such settings.

Any comments from McNeel?

1 Like

Thanks a lot!!!

That did the trick. I changed to “Normal” settings in Power options (in Danish) and not the GPU clock follows the performance needs. I’m a little bit puzzled though because as far as I remembered I did try to play with those settings. Maybe there was a new driver update that actually made this option functioning or else I simply didn’t try this exact setting:

Anyway thanks a lot for testing this out and doing what the Rhino Support didn’t seem to have any will to do or knowledge about. I hope they take note of your findings.

Actually it was your setting that I changed. I didn’t have the Energy Efficiency property with “Adaptive” as the chosen setting. Maybe it depends on the Nvidia Control Panel version or the RTX GPU version or both.

Thanks!

1 Like

It is the competitive trend pushing GPUs for “More Power” poor planet earth.

1 Like

In fact, it’s astounding that they don’t seem to care.
I would like to believe that they do care.

This “no answer” attitude is seen in several topics.
You never know if they even noticed the topic, or if the topic is being ignored.
I don’t know which is true in this case.

If the high clock setting would give more power to the Rhino display, I could understand that.
Then you have a return for the energy.

But that’s not the case here.
Rhino just sits there consuming power for absolutely no effect.

This is a real waste of energy!

@Charles I am happy that you brought this up and I will bring this to the table internally.
I have read this topic and in the meantime did some tests on my laptop, and can at least confirm that it’s possible to influence it though the nvidia settings. In my case it saves about 15W, which is still significant on a laptop. If you see no answer in a post that requires attention, pls just revive the topic. It’s not always feasible to reply right away.
RH-74991 Rhino GPU clock stays high also when idle

3 Likes

Good to know I’m not writing into nirvana.

Rhino has NO CONTROL over this stuff. None.

There must be a reason why NVidia makes Rhino not using the standard settings.
Other apps also have no control but work as expected.

Ask Nvidia.

Why should I?
I have a problem with Rhino not with NVidia :smiley:

@charles, can you also send me your _SystemInfo? I tried to replicate this on my desktop, but there all works as expected (info see YT)

It’s nvidia and Windows that manage this stuff. Applications don’t ‘ask’ for particular power settings.

Rhino 8 SR0 2023-5-26 (Rhino WIP, 8.0.23146.04305, Git hash:master @ bf3ffae935989792903579fc12386999f3a6c071)
License type: Educational Lab License, Build 2023-05-26
License details: Stand-Alone
Expires on: 2023-07-10

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 32Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2070 (NVidia) Memory: 8GB, Driver date: 4-25-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 531.79
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 4-25-2023
Driver Version: 31.0.15.3179
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB

Rhino plugins that do not ship with Rhino
C:\Program Files\SimLab\Plugins\SimLab 3D PDF From Rhino 6\plugins\SimLabPDFExporter.rhp “SimLab PDF Exporter”
C:\Users\Charles\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\IntelDenoiser\0.6.7\IntelDenoiser.Windows.rhp “IntelDenoiser.Windows” 1.0.0.0

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8 WIP\Plug-ins\Commands.rhp “Commands” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 8 WIP\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCode\RhinoRoslyn.rhp “RhinoRoslyn” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCode\RhinoCodePlugin.rhp “RhinoCodePlugin” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\RhinoCode\RhinoCPython.rhp “RhinoCPython” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8 WIP\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8 WIP\Plug-ins\ConstraintsUI.rhp “Constraints UI” 8.0.23146.4305
C:\Program Files\Rhino 8 WIP\Plug-ins\SectionTools.rhp “SectionTools”

I know.
There is a reason why NVidia/Windows applies this unpleasant setting.
As mentioned earlier, perhaps Rhino is considered a game.

But I’m not the one who can inspect this.

BTW, I inspected several machines with NVidia Graphics.
They all show the same behavior.
All with Rhino only, so Rhino has something to do with the issue.

That’s true, but Rhino could detect that the system is on battery power and then lower internal settings accordingly. Like capping fps and shadow quality to name some festures.