HOME

Workflow & app guides

How can I transfer my files without access to renderBeamer? (FTP)
How can I transfer my files without access to renderBeamer? (FTP)
3ds Max V-Ray
3ds Max V-Ray
General guide
General workflow
General workflow
General guide
Maya Arnold
Maya Arnold
Modo Native
Modo Native
3ds Max Corona
3ds Max Corona
Maya Redshift
Maya Redshift
Modo V-Ray
Modo V-Ray
Cinema 4D
Cinema 4D full workflow
Cinema 4D full workflow
Cinema 4D
Maya V-Ray
Maya V-Ray
Blender
Blender full workflow
Blender full workflow
Blender
SketchUp
SketchUp full workflow
SketchUp full workflow
SketchUp
V-Ray Scene
V-Ray standalone full workflow
V-Ray standalone full workflow
V-Ray Scene
After Effects
After Effects full workflow
After Effects full workflow
After Effects
LightWave 3D
LightWave full workflow
LightWave full workflow
LightWave 3D
Redshift standalone (.rs)
Redshift standalone (.rs) full workflow
Redshift standalone (.rs) full workflow
Redshift standalone (.rs)

Articles

FAQ

How to use and optimize Frame Per Execution (FPE)

How to use and optimize Frame Per Execution (FPE)

1. Definition of FPE

FPE or Frames Per Execution is a setting that is available when rendering animations. By default, the value for FPE is set to 1 for projects rendered on CPU. This means that each frame will be rendered as a new execution (a separate task), in other words, the scene will be loaded on each node every time a new frame starts. In the case of projects rendered on GPU, the value for FPE is set to 5 by default. So it means that 5 frames will be rendered in a row on one node.

The FPE (Frames Per Execution) setting allows you to render several frames (the value you put in) in a row without the need to reload the scene on a render node, and potentially may improve rendering performance/efficiency. If your scene has a long loading time but a short rendering time, you can set FPE to a higher value (for example 4). If the loading time is short but the rendering time is long, leave the value as default or set it to 1.

NOTE: The Frame Per Execution may also be known to many render farm users as Frames Per Render, Frames Per Task, Task Chunk Size (used by Deadline).

As you can see, this setting may have different names in various environments, however, regardless of terminology, it works the same way.

2. Where you can set FPE (on GarageFarm)

There are two places where you can set the value for Frame Per Execution.

The first place you can find it is the web dashboard (Web Manager). You’ll see it in the submit window that appears in the last step of adding a scene to the farm queue. In this window, you will find a number of settings - some may differ depending on the 3D app used but others are common including the Frame Per Execution.

More information about submitting a job and all the relevant settings can be found in our step by step guides here: https://garagefarm.net/software-guides.

How to use and optimize Frame Per Execution (FPE)
"Frame Per Execution" setting located in the job submit window on Web Manager

The second place where you can adjust Frame Per Execution is the renderBeamer app.

First, you’ll need to activate the auto submit option in renderBeamer’s settings (cogwheel icon). Then, by selecting edit, you’ll be able to access auto submit advanced settings.

This is a panel where you can create and manage auto submit templates for any supported 3D application. Among several settings available you can find a field called FPE - here you can set a custom Frame Per Execution value. Please remember that this value will be applied to all the scenes you submit when the auto submit option is enabled.

Note that auto submit is an advanced setting that allows you to simplify and speed up the workflow by reducing the number of steps you need to take to submit a job to rendering. Therefore, we recommend using auto submit only after you have familiarized yourself with the standard workflow. Check out this video to learn how it works: Auto submit render jobs to a cloud render farm.

How to use and optimize Frame Per Execution (FPE)
"Frame Per Execution" setting located in renderBeamer’s advanced settings

A detailed explanation and the mechanism of all the settings in the renderBeamer app can be found here: (guide will be available soon).

3. When to use FPE

Below you can find some examples of the various uses of the Frame Per Executions setting. Each of the examples provided contains a different scenario that has been described in detail along with the calculation of the total render time, individual render times, and a comparison table with cost and time estimates.

Example #1 - 100 frame Animation

Project’s details:

  • average scene loading/processing time: 5 minutes
  • average rendering time of one frame: 2 minutes
  • number of frames to render in total: 100 frames

1st scenario - default setting FPE = 1

How to use and optimize Frame Per Execution (FPE)

Total render time of 1 frame on 1 node: 7 minutes (5m - loading time, 2m - rendering time). 
Total render time of 100 frames: 700 minutes (7m x 100 frames).

The first scenario in this example is where FPE is set to 1. In this case, to render one frame, a node will ALWAYS need to load a scene before starting the rendering process. This means that if the preprocessing/loading time is 5 minutes and the actual rendering time is 2 minutes, then the whole process takes 7 minutes. The same applies to all the frames from the given animation - each frame will be rendered separately on a separate node.

2nd scenario - custom setting FPE = 10

How to use and optimize Frame Per Execution (FPE)

Total render time of 1 batch on 1 node: 25 minutes (5m - loading/preprocessing time, 10 x 2m = 20m - rendering time). 
Total render time of 10 batches on 10 nodes: 250 minutes (25m x 10 batches)

If the FPE is set to 10, it means that 10 frames will be rendered in a row in a single execution on each node. So, in this example, you can see that the scene will load on a node only once (5 minutes) and 10 frames will be rendered on a single load (each frame will render 2 minutes, so it will take 20 minutes for 10 frames). The total time to render one batch of 10 frames will take 25 minutes on one node.

The image above shows how the frames will be split into batches and rendered on each node as individual tasks. Because this is an animation of 100 frames and FPE is set to 10, a project with a frame range of 1-100 will be rendered in 10 separate batches (each batch contains 10 frames).

Costs and render time comparison for FPE = 1 & FPE = 10

FPE 1

FPE 10

Render time of one task/execution

7 minutes

25 minutes

Render time on 10 nodes

70 minutes

25 minutes

Total rendering time 100 frames

700 minutes

(11 hours 40 minutes)

250 minutes

(4 hours 10 minutes)

Cost

Low priority

33.40

8.35

Medium priority

66.60

16.65

High priority

133.20

33.30

Rendering the project with FPE = 10 improved performance and resulted in lower cost

In the table, you will find detailed calculations based on the assumptions we made about the project (preprocessing/loading time + rendering time) and using both the default and custom FPE setting.

The first assumption shows the cost and the render times with FPE = 1. The total render time for 100 frames, in this case, will be 700 minutes, because each frame will be rendered as a separate task on a separate node. Setting the FPE = 10 allowed us to optimize the total render time of the scene down to 250 minutes because each batch of 10 frames loaded the scene only once on a given node. 

As the cost is calculated on the basis of the priority used and the whole rendering process (preprocessing/loading time + rendering time), in this case, when the loading time is much longer than the rendering time, the difference in the final cost is significant.

Hardware used: In this example, the cost and price were based on calculations using the CPU node: 2 socket 121 GB RAM (44 cores). More information on the specifications of our nodes can be found here.

Example #2 - 250 frames Animation

Project’s details:

  • average scene loading/processing time: 10 minutes
  • average rendering time of one frame: 40 minutes
  • number of frames to render in total: 250 frames

1st scenario - default setting FPE = 1

How to use and optimize Frame Per Execution (FPE)

Total render time of 1 frame on 1 node: 50 minutes (10m - loading time, 40m - rendering time). 
Total render time of 250 frames: 12,500 minutes (50m x 2500 frames).

2nd scenario - default setting FPE = 5

How to use and optimize Frame Per Execution (FPE)

Total render time of 1 batch on 1 node: 210 minutes (10m - loading/preprocessing time, 5 x 40m = 200m - rendering time). 
Total render time of 50 batches on 50 nodes: 10,500 minutes (210m x 50 batches)

Cost and render times comparison for FPE = 1 & FPE = 5

FPE 1

FPE 5

Render time of one execution

50 minutes

210 minutes

Render time of rendering on 10 nodes

1250 minutes

(20 hours 50 minutes)

1050 minutes

(17 hours 30 minutes)

Total rendering time

12500 minutes

(208 hours 20 minutes)

10500 minutes

(175 hours)

Cost

Low priority

1041.67

875.00

Medium priority

1562.50

1312.50

High priority

2083.33

1750.00

Rendering the project with FPE = 5 improved both the final cost and rendering time on one node

In the table, you will find detailed calculations based on the assumptions we made about the project (preprocessing/loading time + rendering time) and using both the default and custom FPE setting.

The first assumption shows the cost and the render times with FPE = 1. The total render time for 250 frames, in this case, will be 12,500 minutes, because each frame will be rendered as a separate task on a separate node. Setting the FPE = 5 allowed us to optimize the total render time of the scene down to 10,500 minutes because each batch of 5 frames loaded the scene only once on a given node. 

As the cost is calculated on the basis of the priority used and the whole rendering process (preprocessing/loading time + rendering time), in this case, when the loading time is much longer than the rendering time, the difference in the final cost is significant.

Hardware used: In this example, the cost and price were based on calculations using the GPU node: 8x Tesla P100 16GB vRAM. More information on the specifications of our nodes can be found here.

NOTE: Please note that the examples provided have been prepared to explain the mechanics of the FPE feature. Those values aren’t constant and may vary from project to project. Each scene has its own properties and settings that affect the processing and loading time, and for that matter, the estimates should be calculated for each case individually.

4. Advantages and disadvantages of using FPE

  • The main advantage of using FPE is cost optimization for scenes that have a long preparation/loading time. By increasing the FPE value, we can render a specific number of frames in a row on a single scene loading process (one execution).
  • Another advantage is that you can keep the nodes rendering without falling out of the queue. Using FPE will allow you to maintain the nodes rendering a specific batch of frames. Once you acquired the nodes, you can keep them to render more frames than the default set to 1 despite the long farm queue or using a lower priority. Note that this approach is ineffective when your frames render for a long time because you won’t be using all the nodes available to you.
  • The major disadvantage may be the longer waiting time for the completion of all frames from one batch. This affects cases where the rendering time is very long (several dozen or more minutes) and we use the FPE value that is too high. In this case, the cost optimization will not be proportional to the total waiting time for the output to finish.
  • Using too high a value of FPE may cause the rendering software to crash. This is not a common situation, but there may be a case where a 3D application requires a restart after rendering a high number of frames. So for that reason, our system also has upper limits for FPE to reduce the risk of using too large values.
  • In extreme cases, which happen very rarely, the use of the custom FPE value may affect the render results in scenes with broken animations.

5. Calculate and estimate cost by using FPE

We have designed our cost calculator so that you can simulate various scenarios of rendering a scene with different FPE and loading time settings.

Below you will find information on where you can locate these options in our calculator.

How to use and optimize Frame Per Execution (FPE)
"Frame Per Execution" & “loading time” setting located in the cost calculator

Link to our calculator: https://garagefarm.net/cost-calculator

NOTE: The calculator compares the data about your computer to the nodes on GarageFarm. Based on the results, it calculates the time a project would take to render and how much it would cost.

Please note that these calculations are just based on the data you provided so the results are only estimates. For more precise calculations, we encourage you to perform the test directly on our farm.



How to use and optimize Frame Per Execution (FPE)
What is FPE
Chat