RefinementPlan

How one frame's geometry pass is split so no GPU submission exceeds the submit budget — construct-scene-evaluator §EV-A4.2.

In the namespace construct::engine. Declared in src/libs/libconstruct/construct/engine/RefinementPlan.hpp.

Detailed description

A pure class. The producer asks for a plan with the frame's size, its predicted full-size time (CostModel) and the budget, and renders what it gets:

| Situation | Plan | |—|—| | predicted ≤ budget | `Single`: one submission at full size | | over budget, camera or scene moving | `Scaled`: one submission at the scale that fits | | over budget, idle | `Banded`: a preview at the scale that fits, then full-size horizontal bands, one submission each | | a one-row band is over budget | `Degraded`: bands one row high at the largest scale where a row fits, reported once |

The prediction is uniform per row. The producer corrects the model from the measured time of each band, so rows that march further are learned rather than assumed.

In this section