Render will NOT start, Rhino ran out of application memory

System info posted below.

I cannot get this render to start. Nothing major has changed in my workflow, although the complexity of this project is somewhat bigger than others in the past. I work typically in a series of nested block instances on an Intel Macbook Pro running cycles off of the CPU. Cannot figure out what I am doing differently that would cause Rhino to not respond and crash. Its been several days of trying to get a render to start, and after reading up on several posts regarding rendering Rhino7 on Intel machines I still haven’t found a way to solve this problem- I have been able to render before.

I’ve tried:

*Begining render with the viewport in Wireframe to save response time.

  • Managing storage on the mac to free up flash storage. I have 389 GB available on a 1T HD.
    *Resetting Render Settings to default and re-entering desired effects.
    *Removed transparent background and ground plane options (the combination of transparent background and ground plane: shadows only takes a lot of processing power and has caused crashes in the past)
    *Exploding block instances to polysurfaces (Increase file size from ~150MB to 550MB)
    *Reducing Session samples to 50 and overriding production render quality
    *Reduce render Quality
    *Toggled different combinations of Dithering and Gamma on/off

Currently at a loss as to what to try next. I’m ordering a few more hard drives to back up all the clients data separately from this machine and trying to free up as much space as possible.

Rhino 7 SR33 2023-8-1 (Rhino 7, 7.33.23213.13002, Git hash:master @ beed91711342a1d84e696dc6725c3bf7d407dce0)
License type: Commercial, build 2023-08-01
License details: Cloud Zoo

Apple macOS Version 12.6.6 (Build 21G646) (Physical RAM: 64Gb)
Mac Model Identifier: MacBookPro16,1
Language: en-US (MacOS default)

AMD Radeon Pro 5500M OpenGL Engine (OpenGL ver:4.1 ATI-4.8.101)

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: High

Vendor Name: ATI Technologies Inc.
Render version: 4.1
Shading Language: 4.10
Maximum Texture size: 16384 x 16384
Z-Buffer depth: n/a
Maximum Viewport size: 16384 x 16384
Total Video Memory: 8176 MB
Graphics: AMD Radeon Pro 5500M
Displays: Color LCD (264dpi 2x)

Graphics processors
Intel UHD Graphics 630 (1536 MB)
AMD Radeon Pro 5500M (8 GB)
Color LCD (1792 x 1120 @ 59.00Hz)

USB devices
Apple: composite_device
Apple Inc.: Touch Bar Backlight
Apple Inc.: Touch Bar Display
Apple Inc.: Apple Internal Keyboard / Trackpad
Apple: Headset
Apple Inc.: Ambient Light Sensor
Apple Inc.: FaceTime HD Camera (Built-in)
Apple Inc.: Apple T2 Controller

Bluetooth devices
None

Third party kernel extensions
None

Third party plugins
/Library/Frameworks/3DconnexionClient.framework/Versions/A/3DconnexionClient
/usr/lib/swift/libswiftCloudKit.dylib
/usr/lib/swift/libswiftCore.dylib
/usr/lib/swift/libswiftCoreData.dylib
/usr/lib/swift/libswiftCoreFoundation.dylib
/usr/lib/swift/libswiftCoreGraphics.dylib
/usr/lib/swift/libswiftCoreLocation.dylib
/usr/lib/swift/libswiftDarwin.dylib
/usr/lib/swift/libswiftDispatch.dylib
/usr/lib/swift/libswiftFoundation.dylib
/usr/lib/swift/libswiftIOKit.dylib
/usr/lib/swift/libswiftObjectiveC.dylib
/usr/lib/swift/libswiftXPC.dylib
/usr/lib/swift/libswiftos.dylib
/usr/lib/swift/libswift_Concurrency.dylib
/usr/lib/swift/libswiftAppKit.dylib
/usr/lib/swift/libswiftCoreImage.dylib
/usr/lib/swift/libswiftMetal.dylib
/usr/lib/swift/libswiftQuartzCore.dylib
/usr/lib/swift/libswiftCryptoTokenKit.dylib
/usr/lib/swift/libswiftContacts.dylib
/usr/lib/swift/libswiftAccelerate.dylib
/usr/lib/swift/libswiftCoreAudio.dylib
/usr/lib/swift/libswiftCoreML.dylib
/usr/lib/swift/libswiftCoreMedia.dylib
/usr/lib/swift/libswiftOSLog.dylib
/usr/lib/swift/libswiftVision.dylib
/usr/lib/swift/libswiftsimd.dylib
/usr/lib/swift/libswiftNetwork.dylib
/usr/lib/swift/libswiftDemangle.dylib
/usr/lib/swift/libswiftFileProvider.dylib
/usr/lib/swift/libswiftIntents.dylib
/usr/lib/swift/libswiftPrivate_BiomePubSub.dylib
/usr/lib/swift/libswiftPrivate_BiomeStreams.dylib
/usr/lib/swift/libswiftUniformTypeIdentifiers.dylib
/usr/lib/swift/libswiftAVFoundation.dylib
/usr/lib/swift/libswiftCoreMIDI.dylib
/Users/diomira/Library/Application Support/McNeel/Rhinoceros/packages/7.0/IntelDenoiser/0.6.4/libtbb.dylib
/Users/diomira/Library/Application Support/McNeel/Rhinoceros/packages/7.0/IntelDenoiser/0.6.4/libtbbmalloc.dylib
/usr/lib/log/liblog_network.dylib

Rhino plugins that do not ship with Rhino
/Users/diomira/Library/Application Support/McNeel/Rhinoceros/packages/7.0/IntelDenoiser/0.6.4/IntelDenoiser.Mac.rhp “IntelDenoiser.Mac” 1.0.0.0

Rhino plugins that ship with Rhino
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoRenderCycles.rhp “Rhino Render” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/PlugIns/RhinoBonusTools.rhp “Rhino Bonus Tools” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/PlugIns/NamedPositions.rhp “Named Position” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/PlugIns/PanelingTools.rhp “PanelingTools” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/PlugIns/AnimationTools.rhp “AnimationTools” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoDLR_Python.rhp “IronPython” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/Commands.rhp “Commands” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/GrasshopperPlugin.rhp “Grasshopper” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/PlugIns/Displacement.rhp “Displacement” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/PlugIns/RhinoRender.rhp “Legacy Rhino Render” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RDK_EtoUI.rhp “RDK_EtoUI” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/Frameworks/RhCore.framework/Resources/ManagedPlugIns/RhinoCycles.rhp “RhinoCycles” 7.33.23213.13002
/Applications/Rhino 7.app/Contents/PlugIns/NamedSnapshots.rhp “Snapshots” 7.33.23213.1002
/Applications/Rhino 7.app/Contents/Frameworks/RhMaterialEditor.framework “Renderer Development Kit” 7.33.23213.1002

Does the Raytraced mode work when you switch to it?

It sounds like the project is just too big for the Render to be able to start. It’s hard to help without the model, though. Any chance you could send us the model? Rhino - Upload to Support.

-David

Could rendering on the CPU be an option?
(Mainly as a workaround to get the job done ofcourse. I had a Radeon Pro that I tested rendering on and I always found nVidia to be better and more stable back then, but I understand using nVidia isn’t an option since you have a 5500M wich is a laptop chip)

If you can share your file with McNeel then I am sure they are willing to test it out though.

It is hanging up on Raytraced also. I will upload the file to the support page. Trying to review and remove any extraneous data on the nested block instances.

Is using a PCIe chassis an option, or is it time to abandon working from a Mac altogether?

It appears that Rhino 7 is doing excessive baking of textures. In Rhino 8 (WIP) you can disable the baking, the rendering will start there.

I don’t think a Windows machine would do any better unless you have a huge amount of system RAM and GPU RAM.

David,

Your assessment is correct: the file is just too big.

I looked back at another project of this scale (also composed of several nested block “elements”), and the file size of any of those elements does not exceed 46MB, most of them average closer to 15MB.

This project, for some reason, elements range from 140MB- 400MB+!

The only thing I can surmise that is causing this is the creation of new materials for this project. After inspecting the file size of these new .rtmls, they average around 20-30 MB. The average size of a native Rhino .rtml is closer to 30KB.

A few questions:
Is there a way to audit a Rhino file in order to address making them smaller, so to speak?

In another post mentioned I am having materials repeated in the materials panel after UV editing polysurfaces to which they are applied (for example: Aged Wood, Aged Wood (1), Aged Wood (2), etc.) Linked block instances also bring in the identical material and save them as a new materials. The combination of larger and repeated textures are causing the uptick in file size, I suspect. How can I keep the UV mapping that is assigned to a polysurface, but still have that block instances call upon the same, single material?

I wanted to post an update since it took several days to diagnose the problem, and someone else might face similar issues in the future. I was banging my head against a wall after going through the checklist of reducing file sizes. After running the Audit command, I was able to see there were abnormally large objects in the file, and it was not, in fact, an errent material causing the problem. Unable to select the object named in the “Object Table”, I found this thread very helpful. Pascal’s python script labeled the offending geometry, and I was able to remove and troubleshoot the problem from there.