Rhino render extremely heavy on CPU

Whenever I am trying to do some test renders with halfway decent quality using Rhino’s render engine my CPU goes ballistic.

My laptop set up is the following:
i7-4810MQ CPU @ 2.80 GHz
16 RAM
GeForce GTX 870M

If I check task manager it shows my CPU clocking around 3.5 GHz and using 95% or so of the CPU.

I know my CPU isn’t super top of the line or anything but I feel like it should be able to handle these renderings a bit better.

Any help on this would be much appreciated.
Thanks

1 Like

Hi Jeff - using skylight (Lights panel) is very demanding on the CPU in a rendering. Turning that off for tests should help a lot, assuming your not specifically testing for the lighting of course.

-Pascal

That’s the way it’s supposed to work. Rendering is extremely efficient at using all of your CPUs power. If we throttled it back, the rendering would go slower.

Andy

Thanks for the replies.

@pascal Turning skylight off definitely helped but losing the shadows kind of defeats the purpose. Maybe using a different light would help. I’ll try that

@andy My worry is that it is overclocking my GPU. Is there a way to prevent that from happening? I worry about overheating.

Thanks

@jtreitz, the rendering code won’t do any overclocking. That would have to happen manually by you. Overheating is a real possibility under continued heavy loads. To battle that you should ensure your machine has a proper cooling solution. Assuming you have a desktop machine you may want to ensure you have a good CPU fan. Also make sure that your machine is free from dust. Often a good blow out of dust from a machine already does wonders - clogged ventilation holes, heat sinks and fan blades can have dramatic effect on cooling power. If you have a desktop that is a bit cramped you may want to pay attention to bundling cables into neat packages so airflow in the box is as good as you can get it. In my experience it is enough to properly layout your desktop components, take care of cabling and regularly blow out dust to ensure proper operation of our computer under long and heavy calculation (at some point I had my machine hooked up to a community driven distributed rendering farm, where it would be rendering on the CPU for weeks on end under full CPU load,)

Hope that helps a bit

/Nathan

1 Like

@nathanletwory

I am actually using a laptop but regardless I do think that my cooling system isn’t as good as it should be and that is on my list of things to upgrade. I do my best to clean the fans and vents regularly.

It seems that windows 8.1 automatically will use as much of the CPU as possible. I am looking into a way to manage this.

Thanks for the input.

Hi Jeff - see also: Tools menu > Options> ‘Rhino render options page’ - you can set thread priority and # of threads to use.

-Pascal

@pascal I have always wondered about those settings. I always see the word thread thrown around in rendering but honestly I don’t understand exactly what it refers to and what I can expect if I changed something. Is there any documentation on this that you can refer me to?

Thanks

1 Like

@jtreitz a thread is a way to parallelize computation on (modern) CPUs. On a CPU with i.e. four logical cores (4 units that can do computations simultaneously) computational tasks can benefit by utilizing them all. In the case of rendering lots of geometrical computations are done to get to the image you want from the 3D scene you have drawn. Rendering computations are in many cases highly parallelizable, so instead of having just one thread on one core doing computations rendering can be sped up quite a bit by doing them in 4 threads (or more if there are more logical cores available).

Rendering by default will try to use your CPU to the fullest, but that indeed can lead to overheating in cases where there is not enough cooling (laptops indeed are a big sector here). Using only half of the CPU should already generate considerably less heat. The downside of that is of course increased computation time. Halving the amount of threads that are used for rendering roughly doubles the computation time - not completely, because in an optimal implementation there is still some overhead on the hardware and operating system side.

The priority of a thread basically means how easily the operating system can swap it out of CPU in favor of other threads (from other programs). If you need a responsive system while rendering it is useful to set the priority low. Effectively it means that anything else should get better attention from the system, but when you’re not doing anything rendering probably gets the best CPU time it can get.

I hope this gives you a better idea what threads are and how their usage impacts rendering.

Now, on laptop cooling…

For laptops it is very important to clean out any vents you can. I generally take out the back plate (bottom plate?) of my laptop and blow out also the fan for the graphics card, and all holes I can find. With those tiny holes and (under-powered) small cooler fans it is even more important to keep them open. Next to that, when having to run a heavy load for prolonged times, I have the laptop positioned in such a way that all air vents get lots of room. That will help a lot for cooler fans in their job of moving air in and out the laptop. Extra external cooling may help (laptop stands that tilt the laptop, and have one or more fans helping with the cooling).

I hope you can find a workable solution for your rendering needs.

/Nathan

2 Likes