Author Topic: CPU, RAM & HDD Relationship  (Read 1406 times)

2022-03-31, 09:32:24

Otuama

  • Active Users
  • **
  • Posts: 85
    • View Profile
Hi all.

I woke up at 4am to check on every 50th renders for an animation. 

My CPU was at 26% when rendering...... great.  I've spent the last few hours trying to find what's causing the drop.

I've been turning off layers, testing... loading an old scene... testing etc etc etc.

I never got to the bottom of it and now it SEEMS to be running +/- 95% usage.

When I was looking online I saw a post that said if the system maxes out on RAM, virtual memory is given to the HDD... And this can cause a drop.

When rendering, my RAM is initially high (it's actually high even when loading the scene) but then drops... almost by half.

Does that mean it's still using the HDD or has Max/Corona has cached what's actually needed into RAM?

2022-03-31, 09:33:27
Reply #1

Otuama

  • Active Users
  • **
  • Posts: 85
    • View Profile
I spoke to soon... FANTASTIC


2022-03-31, 10:37:45
Reply #2

Ryuu

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 663
  • Michal
    • View Profile
Hi, unless you're running something else that accesses your SSD a lot, the very high SSD utilization in the task manager suggests that you're running out of RAM and the system is swapping, so the CPU is spending a lot of time waiting for the data to be loaded from SSD back to RAM.

It can be a bit misleading that the task manager shows memory usage as 57/64, suggesting that there is still ~7 GB of free RAM, because "how much memory is used/free?" isn't actually a trivial question. For more general info about RAM, please see our RAM FAQ.

2022-03-31, 11:55:53
Reply #3

Otuama

  • Active Users
  • **
  • Posts: 85
    • View Profile
Hi, thanks for the reply.

I'm looking into the SSD thing.  I have a lot of Anima characters in my scene - I'm wondering if it's that. 

I'm going to test a scene without them in so I know for sure.

2022-04-02, 13:08:49
Reply #4

Otuama

  • Active Users
  • **
  • Posts: 85
    • View Profile
Hi.

I've used Corona for years and only now, with this nightmare of a job am I starting to understand the relationship between CPU, RAM & HDD/SSD.

So, the main cause of the issues is the ton of assets on balconies.  Turning them off solved the issue.

We're working on a big job and there are over 1k balcony assets alone.

I looked at them and a colleague didn't optimise them before proxying up.  For example, 1 plant model was 2.5 million polys.    I brought this down to 65k. There were 65 instanced around.

-----------

I optimised all of the assets and I'm still having the issue.  The sheer amount of assets in the job (95% proxied) is causing the issue.

I'm trying to now work out what I can do.

Would it be worth un-proxing assets & batch replacing their proxied versions with the un-proxied one?

I know this would increase scene size, but would this be less RAM intensive?

Any suggestions would be great, thanks.
« Last Edit: 2022-04-02, 14:01:55 by Otuama »

2022-04-04, 09:09:17
Reply #5

Ryuu

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 663
  • Michal
    • View Profile
The number of instances should not really matter for memory usage.

Think of instances like shortcuts in Windows:
- the heavy geometry itself is like a 100 GB file somewhere on your hard drive.
- the instances are then just shortcuts to this file that you have on your desktop.
- even if you have 30 shortcuts to this file on your desktop, the space actually used is still just the same 100 GB (+ few more KB for the shortcuts themselves).

Of course the number of instances still matters for the rendering performance itself and if the number of instances is extremely high (millions), then their memory usage impact stops being negligible.

Unproxying assets may actually hurt in your case. Normally there are two copies of any geometry in memory - 3ds Max stores its own copy and then Corona needs a copy of its own - this is needed for multiple reasons which are not really important now. However when you use proxy with any other display mode than "full mesh", in that case you can completely eliminate the 3ds Max copy of the geometry and therefore save some memory. So if you have any other heavy geometry in the scene which is not yet using proxies, then converting this to proxy may help (as well as making sure that the existing proxies are not using "full mesh" display mode).

2022-04-04, 10:06:14
Reply #6

romullus

  • Global Moderator
  • Active Users
  • ****
  • Posts: 7924
  • Let's move this topic, shall we?
    • View Profile
    • My Models
You can also try to optimize your textures, usually there is huge potential for RAM usage improvement.
I'm not Corona Team member. Everything i say, is my personal opinion only.
My Models | My Videos | My Pictures