I am testing Rhino 8 on my MacBook (M1 Max with 32 GB ram). I have a fairly simple file that is just a png image as a texture over a topography. I am trying to make a huge render for a 10 foot backdrop that will use this image.
However, Rhino keeps crashing before the render window can even open. If I reduce the resolution of the render then it works fine.
Is this a bug? Are there some things I can do to help Rhino with this task?
Also, I was able to do this large render in Rhino in Rhino 6 on my old 2015 era MacBook, so I’m hoping that Rhino 8 should be able to do this faster on the new computer.
I see over 70GB memory usage when doing a 14 400 x 12 000 render on my M2 Max with 64GB.
I see somewhat similar behavior once I get the render to start. However, the time between clicking the render option to when the render window appears takes a very long time and Rhino goes unresponsive during that time. Once the render starts then it seems to work fine though it can be slow.
I also found that GPU (and maybe CPU) use only seemed to go up significantly once the render window was able to open. So, I don’t know what Rhino is trying to do before the render window opens, but from what I can see it seems like it is having trouble setting up it’s environment so to speak since the activity monitor stats don’t show a ton of pressure on the computer. Once the render window opens, then it takes full advantage of the GPU (and CPU) to actually compute the render.
Here are two examples of what Rhino’s resource usage looks like while it is unresponsive:
You can see that both the CPU and GPU usage go way up as soon as the render window opens.
I kind of think that setting the throttle to 0 ms may have helped. But, I didn’t do a proper comparison so it is possible that I am just fooling myself.
I did some tests yesterday in Rhino 8.1 to see how much time I could save by changing the number of samples used to make the render. However, keep in mind that these times are coming from Rhino’s duration timer which only counts the process once the render window has opened. The time between starting the render to when the window opens is about 22 min, which I’m assuming is about the same for all of them since I only timed it once. With that said, I found that rendering with 50 samples (draft quality) took a bit less than 3 min (+22 min), 500 samples (good quality) took 23 min (+22 min), and final quality (1500) samples took 1 hr 21 min (+22 min). The difference in quality of the final two renders was pretty much indistinguishable for my simple file, so I’d say the time savings are probably worth it!
I then tried making a render that was 28800 px on the long edge. That made Rhino crash almost immediately.
When you say crash do you mean that the Rhino crash reporter pops up without you doing anything to Rhino? Or are you force quitting Rhino?
Are you sending in crash reports for this to our system? I think I see two reports from a couple of days ago. At least one of them is a force quit, meaning you interrupted Rhino working.
I did initiate a force quit on some tests. I think I sent one of them to you all using the report feature. I described the behavior where Rhino struggles to open the render window since I hadn’t gotten past that point yet.
When I increase the size of the render, then Rhino actually crashes without me force-quitting. I think I sent one of those as well, but I can probably replicate the behavior and send it in again if that would be helpful.
Btw, are you doing these tests with a model that has large textures in use as well? Where large is anything above 4kx4k resolution really, including environment textures.
The reports probably just need some time to filter through. I see a new report from 9 hours ago. I suppose we’ll have to be patient to get your latest report.
The 28800 edge render was that at resolution 28800x24000?
edit: after looking at the TopographyRender.3dm file I guess that’d have been a 28800x18568 render.
edit2: I think what is happening with the 14400x9284 render is that you see long times because lots of memory is needed. Since you have ‘only’ 32GB, and I see Rhino spike up to at least 29GB there is going to be lots of memory swapping to disk going on, and that can take time. Especially if you have already other programs running that take their fair share of the available memory.
The time for actual rendering by Rhino Render for 2 samples on my M2 Max with 64GB is 3.6 seconds
Just for funsies, I tried rendering this at 800 x 600, which was really snappy (i.e. >1s), then at 4K resolution which took 24.61 seconds, but the render window took about a minute to pop up before the clock started running. During that time Rhino was irresponsive, marked as “not responding” in the macOS Activity Monitor.
I was thinking about something like this as well. However, Rhino’s memory use seems to stay within about 32 GB during the unresponsive time before the render window opens. To me, that suggests maybe there is more going on, but I don’t know enough about how these computing processes work to make any real guesses. I suppose it is possible that writing information like this to disk wouldn’t show up in activity monitor metrics very well.
The time for actual rendering by Rhino Render for 2 samples on my M2 Max with 64GB is 3.6 seconds
This seems pretty consistent with what I was seeing once the actual rendering began on my machine as well.
Has the crash report I submitted last night had a chance to come through yet?