Mastering how C4D and Octane work together and use the hardware takes time but it is important for rendering efficiently. Once you understand how C4D and Octane leverage hardware, you can make smarter choices – from hardware upgrades to scene design. This article explains at a high level how the two programs leverage various system resources like the CPU, GPU, memory and storage. Let’s deep dive!
A Cinema 4D file (.c4d) contains all the scene data and is stored on the hard drive. This includes general scene information like settings, lights, and cameras, as well as data for all the scenes’ objects from the polygons, and assets like volumes or dynamic caches, etc.
When the file is opened in C4D, all this data is copied from the hard drive to the computer’s system memory (RAM). RAM is much faster than the hard drive, so this speeds up workflow. The time it takes to load the scene data from the hard drive into RAM depends on the size of the stored data and the speed of the hard drive, RAM, and CPU. Large scenes with tens of millions of polygons or high-resolution/depth textures can take a noticeable amount of time to load, as these components are the main factors that influence loading speed. Scenes with less data will load nearly instantly.
Once the scene is loaded into RAM, any procedural generators will begin producing polygons and textures in real-time using the CPU. The outputs of these generators are also stored in RAM.
As objects are being manipulated or the camera is moving, Cinema 4D continuously updates the viewport display. This is handled by the GPU and some VRAM, and it is measured in frames per second (FPS). FPS determines how smooth interactions appear. Higher FPS means smoother viewport feedback.
The CPU also needs to keep up by processing any changes to the scene. If the CPU becomes overloaded, it cannot update objects quickly enough, causing the FPS to drop. Below a certain threshold, low FPS makes playback appear choppy and laggy, impairing both general workflow and precise animation timing when using the timeline.
When it’s time to render, Octane first runs all generators and bakes out necessary geometry and textures. It packages this output together with linked textures, pre-baked polygons and other scene data into a single bundle. Octane then attempts to copy this full dataset into VRAM.
VRAM provides extremely fast direct access for the GPU. If the entire scene package fits within the VRAM limits, there may be some initial preprocessing as data is generated and copied over. Then Octane can render at full speed using the GPU.
If there is not enough VRAM, Octane will offload some polygon or texture chunks to the slower system RAM reserve called Out-of-core memory. This slows down the rendering but it can still proceed.
If the Out-of-core allocation is also exceeded, Octane will display an error that it cannot render due to insufficient memory availability, or potentially crash depending on other system factors.
Before sending scenes to render, we will primarily track viewport framerates (FPS) during navigation and playback as a measure of C4D’s responsiveness.
We will monitor both RAM and VRAM usage before and during rendering. RAM usage is more dynamic – we will focus on peak RAM usage to ensure it does not exceed available memory. VRAM behaviour is more static. Things go in once, get utilised for a specific purpose and get flushed out. As a result, we will monitor the total VRAM usage.
Pre-processing time indicates how long data generation, triangulation, packaging and copying takes before rendering begins. This determines wait durations.
Lastly, the overall experience is a subjective metric of determining how easy or painful the process is.
Rather than focusing on render times directly, this article aims to optimize earlier workflow factors that could potentially slow down rendering before it starts, such as clearing RAM/VRAM bottlenecks and minimizing pre-processing delays. We would want a smooth runway for optimized rendering.
Now that we have established the specific metrics we want to analyze, what methods or tools can we use to gather all this pertinent data?
Measuring frames per second (FPS) is quite straightforward. We can simply press Shift-V while in the perspective viewport to access the Heads Up Display (HUD) options, navigate to the HUD tab, and toggle on the Frames per Second readout. This allows FPS to be monitored with ease.
You can find Peak RAM usage in the Windows Task Manager (Ctrl+Shift+Esc). To view it, access the Details tab on the left side, right-click a column header and select “Select Columns” to turn on the Peak working set (memory) column. This reveals the maximum RAM value used from when C4D launches until it closes.
The Task Manager also allows checking for any other memory-intensive programs running that could be closed to free up resources and improve C4D’s performance.
While the Task Manager shows VRAM usage, Octane includes even better-specialized tools for monitoring this.
One of the most useful places to check VRAM usage is the Device Settings window. This can be accessed by clicking the gear icon for Octane Settings, switching to the Settings tab, and then clicking the Device Settings button. The window provides a breakdown of how VRAM was utilized in the last rendering operation. This is very convenient information.
It’s important to note that this method only works if a render completes successfully. If rendering hangs or fails due to overloading resources, we may need to use other tools instead for diagnostic purposes.
An Octane render will perform at its highest level when all scene data, including polygons, textures, instances, and processing overhead, can be fully contained within the VRAM limits, and RAM is not used up to 100% while processing.
C4D’s performance will be at its best when the frames per second reported in the viewport do not drop below the target frame rate specified for the scene.
Now, we put all this to use and do a quick baseline test.
- The test used a 2021 Razer Blade 1
- Specs: i9-11900H CPU, 64GB RAM, RTX3080 Laptop GPU with 16GB VRAM
- OS: Win 11 Home 22H2
- 4K 60Hz OLED, using Cinema 4D 2023.1/Octane Render 2022.1
To properly establish a baseline, we’d restart the computer and close any non-essential programs to clear memory. After confirming around 4GB of RAM available via Task Manager’s Performance tab, we’ll launch C4D. Ensuring the Task Manager RAM column and C4D FPS HUD are visible, we’ll then open a completely empty scene without any lights, objects, etc. This provides an accurate minimum overhead measurement point before conducting additional tests.
When navigating the empty scene, the FPS fluctuates but never drops below 60, so we’ll call it >60. During playback, the FPS counter shows over 300, typically around 450-500 but varying. As long as it stays consistently over 30, we can time animations to it, so >300 is excellent.
Checking Task Manager, we see C4D is currently using 1.25GB of VRAM with peak RAM at around 3GB. Octane isn’t engaged yet since nothing was sent to render.
Performance so far running perfectly smoothly.
To capture more baseline metrics, launch the stopwatch app ready to time the Live Viewer to render once triggered.
The Live Viewer render was completed so quickly that we didn’t have time to stop the stopwatch, so it’s considered instant.
In the Device Settings window, Octane reported using 1.1GB for “Engine Runtime Data”, recorded as Overhead. It also listed 2.3GB as “Unavailable” VRAM being used by C4D and system overhead.
Peak RAM rose to 4GB during the process, indicating plenty of additional RAM available for more complex scenes.
The results indicate that the system has headroom and nothing currently limiting creating more intricate scenes.
The ideal scenario is for all graphics data (textures, geometry, etc.) to fit into the graphics memory (VRAM). This allows for optimal rendering speed. However, some scenes may be too large to fit all their assets in VRAM.
Fortunately, Octane allows us to designate a portion of system memory (RAM) to supplement the VRAM. This is called Out-of-core memory (OOC). While OOC memory enables rendering scenes that are larger than the VRAM alone, it significantly impacts performance. This is because:
- RAM is much slower than VRAM. It does not have a direct pipeline to the GPU as VRAM.
- Any RAM allocated to OOC is unavailable for other preprocessing tasks carried out by C4D and Octane. This further degrades performance.
- Ray tracing (RTX) also cannot be used when rendering with OOC memory.
Any single object such as geometry, texture, etc, must fit entirely into VRAM, or entirely into OOC RAM. If it’s too large to fit in VRAM, it will be put into OOC. If it’s too large to fit in both VRAM and OOC, Octane can not render the scene.
FPS (Frames per second) refers to how smooth the viewport and animation playback are. There are three main factors that influence this smoothness.
- Render Settings FPS: This determines the frame rate at which the final rendered animation will play back when viewed or used elsewhere. For example, if set to 30 FPS, and the animation is exported and played on a desktop or embedded on a website, it will run at 30 frames per second.
- Project FPS: This needs to match the Render Settings FPS, otherwise the total frame count will be incorrect.
- Screen Refresh Rate: Technically, this is measured in Hertz (Hz) instead of FPS. It determines how often the display (monitor/screen) refreshes per second. This is a fixed hardware characteristic of a display panel. We can reduce this value via drivers, but can not increase past the max without buying a new monitor.
The screen refresh rate places an upper limit on the smoothness level achievable. For example, playing a 120 FPS animation on a 60Hz monitor results in it displaying at 60 FPS instead, due to the monitor’s hardware capabilities.
Viewport FPS (based on current CPU/GPU load): This real-time number indicates how frequently C4D updates the preview window per second based on current processing power. It fluctuates depending on tasks – things like panning, zooming or playback.
We now have greater insight into how C4D and Octane work together to efficiently utilize system resources. With this knowledge of how tasks are divided across these two programs, we hope you can make informed choices to optimize workflows, hardware upgrades and scene design.
iRender powers up your creativity with unlimited GPU rendering resources. Our GPU render farm houses the most powerful 3D rendering machines. Configure from 1 to 8 GPU with top-tier RTX 4090/RTX 3090, Threadripper Pro CPUs, 256GB RAM and 2TB SSD storage – iRender’s machines are capable of speeding up any 3D projects.
Once renting our machines, you will own them as your personal workstations. Therefore, you can use any software, plugins or versions you want.
As an official partner of Maxon, we provide pre-installed C4D machines to streamline your pipeline further! Currently, we provide one free C4D license for all our users. Let’s see a workflow using C4D and Octane through our desktop app.