Render Budget vs. Observer Density Calculator

JJ Ben-Joseph headshot JJ Ben-Joseph

What this calculator does

This calculator estimates how many active observers a simulated world can support without exceeding a fixed floating-point compute budget, given your target frame rate, image resolution, and per-observer simulation cost. It is aimed at people thinking about large-scale virtual worlds: game engines with crowded scenes, multi-user VR, research simulations, or even speculative "ancestor simulations."

By turning the problem into a simple FLOP/s accounting exercise, you can explore questions like:

The tool assumes a single global compute budget (in TFLOP/s) that must pay for both rendering and per-observer simulation. It helps you see how that budget is split and what combination of population and fidelity fits inside it.

Key inputs explained

The calculator relies on a few core inputs. Understanding these will help you choose realistic values.

Total render budget (TFLOP/s)

This is the total floating-point capacity available to your simulated world, measured in teraflops per second (TFLOP/s). It should include everything you are willing to spend on both rendering and simulation of observers.

Target frame rate (frames per second)

This is how many frames per second the world should present. Each extra frame multiplies the cost of shading all pixels.

Average shading cost (FLOPs per pixel)

This parameter captures how expensive it is, on average, to shade a single pixel once. It wraps up shader complexity, lighting model, post-processing, and similar operations into one number measured in FLOPs per pixel.

Simulation cost per observer (GFLOP/s)

This is the non-graphics compute needed to maintain one observer in the world, measured in gigaflops per second (GFLOP/s). It can include AI logic, physics, animation, networking, and state management.

Target active observers

This is how many observers you want to be active simultaneously. The calculator will check whether that count fits inside your compute budget at the chosen resolution and frame rate, and it can also tell you what maximum observer count is feasible given your inputs.

Desired horizontal and vertical resolution (pixels)

These two inputs determine how many pixels the system must shade per frame. For example, 1920 × 1080 is 1080p, and 3840 × 2160 is 4K UHD.

How the calculation works

The underlying model is a straightforward budget equation: rendering and simulation must both fit within the total FLOP/s available. Here is the logic in steps.

  1. Compute pixels per frame. Multiply width by height:
    pixels_per_frame = width × height
  2. Compute FLOPs per frame. Multiply pixels per frame by the cost per pixel:
    flops_per_frame = pixels_per_frame × pixel_cost
  3. Compute rendering load per second. Multiply by the frame rate:
    render_flops_per_second = flops_per_frame × fps
  4. Convert the per-observer simulation cost. You input simulation cost in GFLOP/s; to compare correctly, everything is converted to the same units (for example, FLOP/s or TFLOP/s).
  5. Compute total load per observer. Add the per-second rendering load attributed to each observer and that observer's simulation cost.
  6. Multiply by the number of observers. The total must not exceed the global budget.

In compact mathematical form, one possible representation is:

C= B R+S where B=total budget (FLOP/s), R=render cost per observer (FLOP/s), S=simulation cost per observer (FLOP/s)

You can think of R + S as the "cost" of one observer at your chosen fidelity. Dividing the budget B by that cost yields the maximum number of observers C that the system can sustain.

Interpreting the results

When you run the calculator with your own parameters, you will typically see output values such as:

Use these results as directional guidance rather than exact predictions. The model is deliberately simple so that it can be explored interactively. In practice, rendering pipelines and simulation systems have complex performance characteristics, but the budget-style view is still useful for planning.

Some ways to read the numbers:

Worked example

Consider a hypothetical world with these settings (which match the default values in the form):

Step through the calculation conceptually:

  1. Pixels per frame
    pixels_per_frame = 1920 × 1080 = 2,073,600
  2. FLOPs per frame
    flops_per_frame = 2,073,600 × 500 ≈ 1.0368 × 10^9 FLOPs
  3. Rendering load per second
    render_flops_per_second = 1.0368 × 10^9 × 60 ≈ 6.2208 × 10^10 FLOPs/s
  4. Convert budget to FLOPs/s
    10 TFLOP/s = 10 × 10^12 FLOPs/s
  5. Convert simulation cost per observer
    150 GFLOP/s = 150 × 10^9 FLOPs/s
  6. Compare loads
    If the model assigns the full rendering cost to each observer, the rendering demand per observer would already be large relative to the total budget, leaving little room for simulation. Depending on how you choose to apportion rendering cost across observers, you can compute an approximate maximum observer count that keeps the sum of rendering and simulation below 10 × 1012 FLOPs/s.

By changing one parameter at a time, you can see how the feasible observer count responds. For instance:

Comparison of common trade-off scenarios

The table below illustrates a few stylized scenarios using the same 10 TFLOP/s budget. The point is to show qualitatively how changing one axis (resolution, frame rate, or simulation cost) shifts what is possible, not to provide exact universal numbers.

Scenario Resolution Frame rate Shading cost (FLOPs/pixel) Sim cost per observer (GFLOP/s) Relative max observers
High fidelity, low population 3840 × 2160 (4K) 120 FPS 800 200 Very low (graphics-dominated)
Balanced game settings 1920 × 1080 (1080p) 60 FPS 500 150 Moderate
Massive crowd, reduced fidelity 1280 × 720 (720p) 30 FPS 300 100 High
AI-heavy simulation 1920 × 1080 (1080p) 30 FPS 300 400 Low (simulation-dominated)

Use the table as inspiration when exploring your own settings. If your goal is an extremely large population, you will generally find yourself in the "reduced fidelity" region of the design space. If your focus is visual spectacle for a handful of observers, you can push resolution, shaders, and frame rate much higher.

Assumptions and limitations of the model

This calculator is intentionally simplified. It is best used as an intuition pump for trade-offs, not as a performance certification tool. Some important assumptions and limitations are:

Because of these simplifications, treat the outputs as rough feasibility checks. They are most valuable when comparing relative configurations ("config A vs. config B") rather than trying to match an exact real-world system.

Using the tool in design and planning

To get the most value from the calculator:

Ultimately, the calculator is a way to make the intuition that "everything must fit in the budget" more quantitative. By exploring how observer density competes with visual fidelity under a finite render budget, you can design worlds that are both ambitious and technically plausible.

Provide your budget, observer count, and desired resolution to explore feasible combinations.

Embed this calculator

Copy and paste the HTML below to add the Render Budget vs. Observer Density Calculator to your website.