Hi folks!
I’m currently experimenting with rendering C4D+Redshift scenes on various AWS Portal instance types. I’m trying to optimize render times using the Cinema4DBatch plugin, so the scene file stays loaded in memory in between frames. From my tests, it’s clear that rendering .rs files using the Redshift Standalone plugin is faster, but from a QoL standpoint we’d prefer to just render the .c4d scenes directly instead of exporting proxies first.
Since we’re using Cinema4DBatch, all of the frames after the first one render very quickly. However, there’s a lot of “setup” involved in rendering Frame 0 that gets cached. It’s this part of the rendering process that I’d like to speed up as much as possible.
I ran the same task through a few different instances and went through and summarized times for various “chunks” of the process:
=======================================================
Worker Information
=======================================================
Operating System: Amazon Linux release 2 (Karoo)
CPUs: 16 Memory Usage: 6.7 GB / 62.1 GB (10%) Free Disk Space: 9.811 GB
Video Card: Amazon.com, Inc. Device 1111 (x1 GPU)
Instance Type: g4dn.4xlarge
Startup Time: 1:05
Render Time: 17:33
Task Time: 18:380:04 – Deadline job start, launch Cinema4DBatch plugin
0:03 – Cinema 4D Commandline launch
0:01 – Could not initialize OpenGL
0:01 – Redshift initialization
0:52 – Redshift load C4d scene
0:03 – Redshift path mapping
0:01 – Deadline start render0:19 – Redshift scanning scene, updating lights
0:08 – Redshift scanning materials
0:23 – Redshift Extracting Geometry, Mesh Creation, Mesh Geometry Update, Acquire License, etc
4:10 – Redshift process textures
0:01 – Redshift preparing materials and shaders
0:00 – Redshift allocating GPU mem and VRAM
11:57 – Redshift rendering blocks
0:01 – Redshift apply post effects and end render
0:08 – Redshift return license and free GPU memory
0:17 – Redshift context unlocked render
0:09 – Deadline finish Cinema4D task
=======================================================
Worker Information
=======================================================
Operating System: Amazon Linux release 2 (Karoo)
CPUs: 64 Memory Usage: 10.3 GB / 480.3 GB (2%) Free Disk Space: 10.240 GB
Video Card: Cirrus Logic GD 5446
Instance Type: p3.16xlarge
Startup Time: 0:54
Render Time: 3:04
Task Time: 3:580:05 – Deadline job start, launch Cinema4DBatch plugin
0:09 – Cinema 4D Commandline launch
0:18 – Could not initialize OpenGL
0:09 – Redshift initialization
0:06 – Redshift load C4d scene
0:02 – Redshift path mapping
0:02 – Deadline start render0:08 – Redshift scanning scene, updating lights
0:08 – Redshift scanning materials
0:07 – Redshift Extracting Geometry, Mesh Creation, Mesh Geometry Update, Acquire License, etc
1:11 – Redshift process textures
0:07 – Redshift preparing materials and shaders
0:06 – Redshift allocating GPU mem and VRAM
0:43 – Redshift rendering blocks
0:02 – Redshift apply post effects and end render
0:08 – Redshift return license and free GPU memory
0:06 – Redshift context unlocked render
0:16 – Deadline finish Cinema4D task
=======================================================
Worker Information
=======================================================
Operating System: Windows Server 2016 Datacenter
CPUs: 64 Memory Usage: 17.4 GB / 488.0 GB (3%) Free Disk Space: 91.781 GB
Video Card: NVIDIA Tesla V100-SXM2-16GB (x8 GPU)
Instance Type: p3.16xlarge
Startup Time: 4:49
Render Time: 7:42
Task Time: 12:310:12 – Deadline job start, launch Cinema4DBatch plugin
2:30 – Cinema 4D Commandline launch
0:25 – Could not initialize OpenGL
0:30 – Redshift initialization
0:56 – Redshift load C4d scene
0:05 – Redshift path mapping
0:16 – Deadline start render0:19 – Redshift scanning scene, updating lights
2:23 – Redshift scanning materials
0:05 – Redshift Extracting Geometry, Mesh Creation, Mesh Geometry Update, Acquire License, etc
1:08 – Redshift process textures
1:21 – Redshift preparing materials and shaders
0:06 – Redshift allocating GPU mem and VRAM
0:44 – Redshift rendering blocks
0:06 – Redshift apply post effects and end render
0:05 – Redshift return license and free GPU memory
1:23 – Redshift context unlocked render
0:02 – Deadline finish Cinema4D task
(Full logs here: render-logs.zip (69.4 KB) )
Of course, the actual bulk of the Redshift render is way faster on the p3 instance. And the same instance type on Linux is much faster than Windows. But it’s curious to me how some parts actually run slower on the p3.16xl instance than on the g4dn.4xl instance. Is this added time mostly due to interfacing with multiple GPUs instead of a single GPU?
I understand that preprocessing Redshift textures would help alleviate some of the setup time here, but are there other aspects to the AWS portal instance (or the render job) that I should be considering?
How much do the EBS Volume Types on my AMI, or the proximity of my AWS Infrastructure Region, affect the speed of these processes?
Thanks for the help