Author Topic: Mac M1 LOW POWER MODE bug lives on.  (Read 11967 times)

2023-02-02, 18:36:06
Reply #45

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
The thing is, further investigation does not seem necessary. We can't say how the native renderers in C4D use threads, how optimized they are, etc. What we can say is that Corona and V-Ray are VERY good at using a CPU to its full capacity, and this seems to be the problem as the CPUs or some other element in the machine end up throttling. Since no program can ever "make the CPU do more than it can do" that comes down to the hardware not keeping everything below operating temperatures when the CPU is maxed out.

The only solution would be to deliberately make Corona and V-Ray NOT run at full power, which would be somewhat backward. Of course this should be possible for you to control at some level by reducing the number of threads Corona is allowed to use for rendering, which may keep temperatures down (EDIT - or of course use low power mode, which is the OS equivalent of reducing the power of the CPU available for use). But ultimately the tests are pointing toward the fact that the hardware does not keep the CPU (or some other element in the machine) cool enough to avoid throttling when the full power of the CPU is used for an extended period of time, and that one comes down to the hardware manufacturer.

Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-02-02, 18:38:09
Reply #46

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
On the benchmark - it doesn't run for that long, so probably doesn't push the CPU for long enough. It's also based on Corona 1.3, so a rather old and outdated version of Corona that may or may not utilize the full power of modern CPUs as well as the current release of Corona.
Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-02-03, 08:39:45
Reply #47

masterzone

  • Active Users
  • **
  • Posts: 157
  • CGI Generalist since 1998
    • View Profile
    • ZuccherodiKanna
The thing is, further investigation does not seem necessary. We can't say how the native renderers in C4D use threads, how optimized they are, etc. What we can say is that Corona and V-Ray are VERY good at using a CPU to its full capacity, and this seems to be the problem as the CPUs or some other element in the machine end up throttling. Since no program can ever "make the CPU do more than it can do" that comes down to the hardware not keeping everything below operating temperatures when the CPU is maxed out.

The only solution would be to deliberately make Corona and V-Ray NOT run at full power, which would be somewhat backward. Of course this should be possible for you to control at some level by reducing the number of threads Corona is allowed to use for rendering, which may keep temperatures down (EDIT - or of course use low power mode, which is the OS equivalent of reducing the power of the CPU available for use). But ultimately the tests are pointing toward the fact that the hardware does not keep the CPU (or some other element in the machine) cool enough to avoid throttling when the full power of the CPU is used for an extended period of time, and that one comes down to the hardware manufacturer.

I don't totally agree with you Tom. Try to follow me: if you start a render with Cinema4D internal rendering engine, (I agree that we don’t know how it uses thread or how is optimized) you can push the Apple silicon cpu to near 100%. (I have 10 cores so around 998% CPU) My MacBook Pro M1 Max can handle a scene for many hours running without any CPU or GPU throttle. Sure you can hear fan running (medium velocity of course). If it was a hardware problem related the same thing should happen. Cinema4D can't tell to the CPU to avoid throttling so is very easy to make a conclusion about.

The fact is that Corona (I can't try any rendering engine that uses CPU unfortunately) uses around 80% of total cores after some passes or after some loop renders. Cinema4D can handle the full percentage of the CPU without any throttle.
The throttle it does not matter here, believe me.

About other kind of test with Corona Bench, I know that right now is not compiled for Apple silicon CPU, I seen on Trello about future re-compiling for M1. I think that a good test should be to try with a stand-alone app for to see what happen during rendering. Avoiding to pass through Cinema4D C++ plugin ecosystem is a good way to test the power of the compiled app.

Alex
« Last Edit: 2023-02-03, 10:28:37 by masterzone »
| www.c4dzone.com
| Italian Maxon Training Center
| www.zuccherodikanna.com
| Italian based CGI Studio

2023-02-03, 12:28:16
Reply #48

Nejc Kilar

  • Corona Team
  • Active Users
  • ****
  • Posts: 1245
    • View Profile
    • My personal website
From my understanding of things I think what is important to recognize here is that 100% CPU utilization doesn't necessarily directly correlate to how hot your CPU will get. At least that is the behavior you see in Windows.

Think of it this way - Doing a render with Corona will saw your CPU utilization reach ~100%. Lets say your temps are around 70c at that point. Then, when denoising kicks in, the CPU utilization is still 100% but its hitting different parts of the CPU and now your temps are closer to 80c. More or less same reported utilization but vastly different temperatures.

Similar thing happens with AVX workloads. Your CPU can be 100% utilized on non-AVX workloads and your temps will be fine. Then if you run an AVX workload the CPU will downclock itself automatically and you'll still see your temps rise up considerably.

So behavior like that is also something worth considering imho especially since we don't necessarily know how the built in Cinema 4D render engines are hitting the CPU (and which parts of the CPU).
« Last Edit: 2023-02-03, 12:33:51 by Nejc Kilar »
Nejc Kilar | chaos-corona.com
Educational Content Creator | contact us

2023-02-04, 21:23:53
Reply #49

YURII

  • Active Users
  • **
  • Posts: 76
    • View Profile
    • YURII SUHOV
The thing is, further investigation does not seem necessary. We can't say how the native renderers in C4D use threads, how optimized they are, etc. What we can say is that Corona and V-Ray are VERY good at using a CPU to its full capacity, and this seems to be the problem as the CPUs or some other element in the machine end up throttling. Since no program can ever "make the CPU do more than it can do" that comes down to the hardware not keeping everything below operating temperatures when the CPU is maxed out.

The only solution would be to deliberately make Corona and V-Ray NOT run at full power, which would be somewhat backward. Of course this should be possible for you to control at some level by reducing the number of threads Corona is allowed to use for rendering, which may keep temperatures down (EDIT - or of course use low power mode, which is the OS equivalent of reducing the power of the CPU available for use). But ultimately the tests are pointing toward the fact that the hardware does not keep the CPU (or some other element in the machine) cool enough to avoid throttling when the full power of the CPU is used for an extended period of time, and that one comes down to the hardware manufacturer.

So, thats it, you are saying that you guys give up on this and it is the way it should be?

2023-02-05, 16:16:46
Reply #50

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12711
  • Marcin
    • View Profile
"As software developers, we have no control over the underclocking which is done by the system. We cannot control it in any way."

Update: bolded some parts in https://forum.corona-renderer.com/index.php?topic=38220.msg209024#msg209024 and made them reddish in color so that even if you decide not to read the whole thing, you can at least see the important bits.
TL;DR: We cannot fix something that we have no control over.


« Last Edit: 2023-02-05, 16:20:18 by maru »
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2023-02-06, 15:49:03
Reply #51

rafaz

  • Active Users
  • **
  • Posts: 102
    • View Profile
Botton line is....


The corona team Don't know how to optimize the render to M1 processors and are the're giving up on trying.

Now what is over the board is you guys trying to blame the system for the lack of knowledge on the matter. I would totally agree if all other softwares like c4d physical and standart render or even blender would cause the same problem but they don't. They took the time to learn and optimize the software as we go and still working on it.

"As software developers, we have no control over the underclocking which is done by the system. We cannot control it in any way."

Maybe you don't have to controll it, maybe just optimize to work it right. We know it's a low demand you guys won't spend the time to work on.

The thing is, further investigation does not seem necessary.
Right here says it all.

It's time to move on.
 

2023-02-06, 15:59:00
Reply #52

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
"The corona team Don't know how to optimize the render to M1 processors and are the're giving up on trying."

This is simply not true. The truth is we use the CPU to its maximum, and the hardware can't keep up, and something overheats. Controls to limit this already exist - low power mode, or use less threads. These all will result in slower rendering compared to the hardware actually supporting using the CPU to its maximum over an extended period of time. To be honest, these are issues best raised with the hardware manufacturer, not with us (so, I hope you have raised this with Apple with as much vigor as you have raised it here). There is no "optimizing" for the CPU, there would simply be "using less of it so the system doesn't overheat". The problem is we are TOO optimized at using the CPU.

The fact that other software can't run the CPU to its full capacity over an extended period, and so doesn't overheat, is also not saying that software is better - in many ways, it is worse, because it is never really pushing the CPU as hard as it can go and never getting the best from it.

Imagine a car that can go at 100mph. We drive it at a 100mph all the time, and it overheats. Other software drives it at 85mph all the time so it never overheats. The problem there is not the driver, it's that the car has not been built all round to support the maximum speed it can go at.

I am not sure why there is some confusion over this, and why "just calculate less / make less use of the power of the CPU so it doesn't overheat" is being called "optimizing". Optimizing would be the other way round, getting more power out of the CPU. And if you want it to calculate less, you as a user have that control already, in threads used and in low power mode - actually changing Corona code to always calculate less would be counter-productive.
Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-02-07, 10:59:47
Reply #53

masterzone

  • Active Users
  • **
  • Posts: 157
  • CGI Generalist since 1998
    • View Profile
    • ZuccherodiKanna

The fact that other software can't run the CPU to its full capacity over an extended period.

Sorry Tom, but all Corona Team continue to replay that. I understand that every software developer loves it's creatures...and we love Corona Render too...but please could we try to analyse the fact that Cinema4D Cinebench or Cinema4D standard/physical rendering engine can handle the CPU up to 99% for hours without any overhead, without any CPU throttle and without any ISSUE on Apple Silicon Processor...?

Nejc Kilar is the only one said interesting things about the "different" part of the CPU used for calculations...maybe Cinema4D rendering engine takes part of the CPU for calculation that Corona and Vray don't....it's interesting. I don't know deeply how the pure calculation works...but what I know that Cinema4D push the CPU at it's best, Corona it doesn't...Science is a fact and numbers say that.

Anyway, I wrote many time about that Corona Render "sometimes" reach the 98% of the CPU...and after some loop renders on the same scene, continuous works or long period or "I don't know why", it falls below 800%...sometimes 750% of a total of 1000% of 10 core Apple silicon CPU. The Cinema4D rendering engine stay up to 990% of the CPU, this make the CPU Hot, not as my second iMac with Intel 10K generation processor that become very hot, but the CPU never falls below 990%.

I tested internally the behaviour of:

iMac i9 10K
Apple Silicon M1 Max.

We have the same Cinebench numbers: around 14.000 CB. So when I try a complex scene, my M1 Max and my iMac i9 renders with the same timing...M1 Max is a little bit speedy.. and stay cold..the i9 seems a phon and drive me crazy :)
I tried with a complex Corona Render scene and at first passes my M1 Max outperformed the iMac i9. But after sometime my M1 has fails with a 20-25% of processors percentage unused.

It seems a throttle issue, but it doesn't...

I want to repeat my question: way does Cinema4D rendering engine use 98% of the processor for hours? How different are the mathematical instructions sent to the CPU by Cinema4D rendering engine and Corona Render? Do you think is a good idea to try a Stand Alone Rendering without pass through plugin Ecosystem? Maybe Cinema4D creates a bottleneck?

This pictures from me are absolutely clear.
PS: I don't tested the low power on or low power off...I work with automatic power...my corona issues come up with any settings.


« Last Edit: 2023-02-07, 12:10:16 by masterzone »
| www.c4dzone.com
| Italian Maxon Training Center
| www.zuccherodikanna.com
| Italian based CGI Studio

2023-02-07, 13:50:35
Reply #54

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
It was mentioned and explained earlier that the graphs you see there are not a reliable indicator of how hard the CPU is being pushed - Nejc explanation was the one, that pointed out different parts of the CPU can be used which can result in different amounts of heat being generated. Not all "98% of the processor" results in that very high level monitoring tool are equal.

"I tried with a complex Corona Render scene and at first passes my M1 Max outperformed the iMac i9. But after sometime my M1 has fails with a 20-25% of processors percentage unused."

This is exactly the evidence of overheating. Clearly the CPU can do the calculations we ask of it, it does it initially, but over time it is not able to lose its heat effectively and thus has to throttle. This is not something we can control - if the CPU was NOT capable of those calculations, it wouldn't run faster at first. If the CPU was cooled effectively, it would maintain that and not drop performance.

The only "solution" for us would be to make Corona stop doing calculations, set up some idle clock cycles to let the CPU cool... but this has the same result as less threads / low power mode, ie, slower rendering. We talk about different parts of the CPU, well if we use a different part of the CPU "like some other CPU render engines" then... it will render slower, as we're using the correct part of the CPU to get the maximum performance out of it and changing that will make our calculations less efficient and slower.

The only solution which gives the result of "continue operating at that level of effective use of the power the CPU can provide" is... better cooling. And there is nothing we can do about that since we didn't design the cooling.

If this was a PC that one person had built themselves, this conversation would not drag on like this. Simply because it is a computer designed by a company though it seems to cause doubt - surely the cooling is good enough! How could a company not design their machine to perform at maximum capacity for an indefinite time! But the truth is, being designed by a company and not put together by an individual does not mean the machine is designed well enough to handle the situation of extended use of the maximum power of the components.

With all that said, all the evidence is here, and if evidence and facts do not convince someone, then there is nothing else we can do to convince that person, so we won't keep repeating the cause that the evidence points to. It's not that "we choose to ignore it" it's "There's nothing we can do (other than cripple Corona, which you can already do via thread limitation or low power mode as all those have the same result of less heat but slower rendering so the existing solutions are just as good as anything we could put into the Corona code)".
Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-02-07, 13:55:30
Reply #55

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
PS standalone would do the same thing - C4D should be almost entirely idle in terms of CPU use during rendering, so it isn't consuming CPU power and adding to the heat.

A last note is that this is not unique to these machines - all machines get pushed to their max with Corona, as I can attest by the sound of my PC fans which are never louder than during Corona rendering and denoising in particular :) In other words my CPU is running at its hottest (and probably other parts of the motherboard too), the cooling is ramping up to handle it, but it DOES handle it and nothing needs to throttle. I think anyone who uses Corona on any machine can attest to how it really asks the CPU to do everything it is capable of :)
Tom Grimes | chaos-corona.com
Product Manager | contact us

2023-02-08, 10:28:06
Reply #56

Philw

  • Active Users
  • **
  • Posts: 267
    • View Profile
I think a fair point to make as well is that I would think the M1 ports of the Intel Embree raytracing kernels (that I believe most CPU renderers are tapping into) may still be finding its feet?

2023-02-09, 10:18:38
Reply #57

Philw

  • Active Users
  • **
  • Posts: 267
    • View Profile
+ I do think as has been mentioned elsewhere there is stuff under the hood that makes the MacBook Pro machines just that little bit more cautious with their CPU use. If anyone would like to gift me a 20core Mac Studio Ultra for "testing" I'd happily do some more testing :-)

2023-02-09, 18:01:01
Reply #58

frv

  • Active Users
  • **
  • Posts: 337
    • View Profile
No need for testing the M1 Ultra. I have one and its flawless on all 20 cores at maximum.
I never hear fans even when renders take hours. I know that the fans work since I can feel a light breeze from the Mac Ultra and it feels just a tiny bit warmer than room temparature. So if you like a rock solid desktop that does not make any noise and you can carry in a backpack on the bike home the Mac Studio Ultra is fantastic.

Only problem is that the Mac Studio Ultra is a one trick pony when you are in Archviz. There is really nothing out there that does it on a Mac. Lumion, TwinMotion, Redshift, Octane, Enscape etc etc. all are either not available or simply not effective on a Mac.
So if Chaos decides the Mac market is no longer profitable my Mac Studio investement is lost as well.

2023-02-09, 18:10:22
Reply #59

TomG

  • Administrator
  • Active Users
  • *****
  • Posts: 5434
    • View Profile
Actually, Enscape is on the Mac and works with Sketchup: https://enscape3d.com/enscape-for-mac/ and https://blog.enscape3d.com/enscape-for-mac-available-sketchup

This came out of beta just a few days ago :) (or at least, that blog post was updated a few days ago) So Chaos definitely sees the Mac as a viable and important market!

Tom Grimes | chaos-corona.com
Product Manager | contact us