Cycles GPU utilization

Hi @nathanletwory and anyone else who might chime in

I needed to do a few “larger than screen resolution” screen grabs, and noticed that the renderings took a looong time - or longer than expected, at least. Checked the GPU utilization and noticed, that when Cycles is working on viewport rendering, the utilization is 100%, but when doing ViewCaptureToFile, it peaks at 50%. Is this expected, is there a setting I can change or is it a bug? There’s a few posts (BUG: Cycles GPU utilization and Cycles CPU Utilized Capacity) from 2017 that seem to be describing a similar/the same problem, but can’t quite figure out if it’s supposed to be fixed already, or if it’s still there.

TIA, Jakob

System info:
Rhino 6 SR10 2018-11-7 (Rhino 6, 6.10.18311.20531, Git hash:master @ 0f9089a0035dcc6955732d57071445ecc29390f0)
Licence type: Commercial, build 2018-11-07
License details: Cloud Zoo. In use by: mail (Bønnelycke)

Windows 7 SP1 (Physical RAM: 32Gb)
Machine name: NIK-Z620

GeForce GTX 1080 Ti/PCIe/SSE2 (OpenGL ver:4.6.0 NVIDIA 398.82)

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On

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

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 7-30-2018
Driver Version: 24.21.13.9882
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 11 GB

C:\Program Files\Rhino 6\Plug-ins\SolidTools.rhp “SolidTools”
C:\Program Files\Rhino 6\Plug-ins\Commands.rhp “Commands” 6.10.18311.20531
C:\Program Files\Rhino 6\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 6\Plug-ins\RhinoRender.rhp “Rhino Render”
C:\Program Files\Rhino 6\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 6.10.18311.20531
C:\Program Files\Rhino 6\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Users\XXXAppData\Roaming\McNeel\Rhinoceros\6.0\Plug-ins\PanelingTools (6caed836-bc06-4ebc-b1fd-e10886a0dc94)\2018.6.14.669\PanelingTools.rhp “PanelingTools”
C:\Program Files\Rhino 6\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 6\Plug-ins\RhinoCycles.rhp “RhinoCycles” 6.10.18311.20531
C:\Program Files\Rhino 6\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 6.10.18311.20531
C:\Program Files\Rhino 6\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 6\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 6\Plug-ins\NamedPositions.rhp “Named Position”

How are you determining GPU utilization?

Hi @nathanletwory

I used CPUID hwmonitor. There’s probably another/better utility out there. Feel free to point me in the right direction :grinning:

Regards, Jakob

I’ll try to do a few timed tests tomorrow, to see if the render times match the supposed decrease in performance. I’ll be back with an update!

-Jakob

What sort of resolutions are you capturing?

I hadn’t heard of CPUID hwmonitor before. I use MSI Afterburner and GPU-Z to monitor activity and load on my GPUs.

Hi @nathanletwory

Fairly low res - 2500x1700 - so nothing extreme. I’ve just done a times test (attached) of a simple shape with a plastic material and the groundplane turned on. Time 01.jpg (@800x600) took 20 seconds to complete. Time 02.jpg (@1600x1200) took 1:58 to complete. Double the resolution, quadruple the pixels… but the time is close to eight times the original, matching what I saw in terms of utlilization; roughly 50% of full speed. I’m gonna give Afterburner and GPU-Z a spin, and see if either of them will shed some light on what is happening! I’ll go and update my driver as well… just to be sure, that it’s up-to-date!

-Jakob

Hi again @nathanletwory

OK, so Afterburner - atrocious interface aside - paints a more detailed picture, and I can now confirm, that it seems to be the same as the referenced links. The GPU usage looks nice and even when the viewport is rendering (first half of the graph), but as soon as it’s higher-than-screen-res, it goes up and down and up and down and so on and so forth (last half of the graph) - GPU usage from Afterburner attached. So I guess that it’s a known bug/limitation…

Cheers, Jakob

image

Hmm, interesting. I’ll do some investigation here as well. I haven’t touched the Raytraced code for almost two months while I was working on the drag&drop code for the Mac version of v6, but one of the last things I did was to ensure for view captures only the very last pass is moved around so it can be saved (to clipboard or file).

When you do the view capture, is your viewport then already finished, or still rendering?

edit: I see the same behaviour here too. I don’t know yet what changed, but for some reason there is a regression while rendering off-line. It should even be faster (and it was several SRs ago). I’m investigating to figure out what has changed, and see if i can improve this again.

same here. strange gpu usage (1070 ti) when -captureviewtofile…

here first a capture to file / then viewport rendering. even with basic resolution… could it be 500 passes option? i dont know what to put in here .

I see it happen - I just don’t know yet why.

I’ll reply here when I do.

@anika.boeller - could you please also post the results of the Rhino command _SystemInfo here?

Rhino 6 SR10 2018-9-9 (Rhino 6, 6.10.18252.10571, Git hash:master @ c58d8a6310d033629cb3d543df40b0c3f0252def)
Licence type: Commercial, build 2018-09-09
License details: Stand-Alone

Windows 10.0 SR0.0 or greater (Physical RAM: 16Gb)
Machine name: xxx

GeForce GTX 1070 Ti/PCIe/SSE2 (OpenGL ver:4.6.0 NVIDIA 416.94)

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: Height

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 11-12-2018
Driver Version: 25.21.14.1694
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB

C:\Program Files\Rhino 6\Plug-ins\Commands.rhp “Commands” 6.10.18252.10571
C:\Program Files\Rhino 6\Plug-ins\WebBrowser.rhp “WebBrowser”
C:\Program Files\Rhino 6\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 6\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 6\Plug-ins\RPC.rhp “RPC”
C:\Program Files\Rhino 6\Plug-ins\RhinoBonusTools.rhp “Rhino Bonus Tools”
C:\Program Files\Rhino 6\Plug-ins\AnimationTools.rhp “AnimationTools”
C:\Program Files\Rhino 6\Plug-ins\IdleProcessor.rhp “IdleProcessor”
C:\Program Files\Rhino 6\Plug-ins\export_AI.rhp “Adobe Illustrator Export”
C:\Program Files\Rhino 6\Plug-ins\RhinoRender.rhp “Rhino Render”
C:\Program Files\Rhino 6\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 6.10.18252.10571
C:\Program Files\Rhino 6\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 6\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 6\Plug-ins\Alerter.rhp “Alerter”
C:\Program Files\Rhino 6\Plug-ins\RhinoCycles.rhp “RhinoCycles” 6.10.18252.10571
C:\Program Files\Rhino 6\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 6.10.18252.10571
C:\Program Files\Rhino 6\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Chaos Group\V-Ray\V-Ray for Rhinoceros 6\VRayForRhino.rhp “V-Ray for Rhino”
C:\Program Files\Rhino 6\Plug-ins\BlockEdit.rhp “BlockEdit” 6.10.18252.10571
C:\Program Files\Rhino 6\Plug-ins\Displacement.rhp “Displacement”
C:\Users\xxx\AppData\Roaming\McNeel\Rhinoceros\6.0\Plug-ins\SectionTools (fbdb1d7f-8cfb-42c1-9858-87cb6315932c)\2018.8.24.259\SectionTools.rhp “SectionTools”
C:\Program Files\Rhino 6\Plug-ins\NamedPositions.rhp “Named Position”

do you know when it not happens? like some combination of settings/ antialiasing off or such?

No idea yet. It appears that larger-than-screen triggers the slowness, but other than that I have no clue yet.

actually, the resulting image isnt coming out in my case aswell. its 50kb of some lines. but not the viewport.
the only way i can get highres set a floating viewport to my screen size which is ok.

are there newer versions of the cycles plugin to be downloaded somewhere? maybe that ll fix the issue.

i really like cycles, since its camera settings match nicely with make2d graphics, compared to vray.
would be a great tool if it could be exported in higher res.

Best,
Anika

EDIT: with rhino-render-next it works FINE. i can get out any resolution i want!!! Thanks Nathan!

see System slower than expected while large Cycles is doing a GPU render

EDIT #2… actually not really… shadows are not the same. takes too long, and the gpu jumps quite a bit. but it finishes the rendering, with a representation of the modell…

There isn’t a newer Cycles plug-in. You are on the latest SR.

just an uninformed question… would it be possible to open import a rhino file with camera/named view settings and render it in blender with cycles?
or would you have to adjust the camera manually?

I’ve been working on a 3dm importer for Blender 2.8. It doesn’t do cameras, nor textures yet, but you can get your geometry in at least easily, and simple representations of the materials.

For steps to install see:

(and another thread you might want to skim through: Using Rhino3dm in Blender, and further recent videos on my YouTube channel like https://www.youtube.com/watch?v=mN3xeuvvpSg and others.

You’ll still have to do some tweaking, and set up the camera - but I don’t think that will be too much work.

1 Like

cool, thanks. one last question, since im not familiar with blender. does a parallel projection rendering come out 1:1 to rhinos parallel camera? this seems to be a problem with vray… it distorts in 2d,

If it looks the same as in Raytraced in theory it should.

At some point I’ll adapt the script to import views as cameras into Blender. No ETA on that, though.

Ok. I found a workaround for getting higres cycles renders, at least for nvidea gtx gpus.
In the NVIDEA control panel i can setup a custom resolution, larger then my actual screen size (fullHD).
I managed to render 2000by2000 this way, then Viewcapturetofile it.

image