|
|
Donner SVG 0.8.0-pre
SVG editor and embeddable C++20 engine.
|
Aggregate conversion, rasterization, and upload work shared by a render frame. More...
#include "donner/svg/renderer/RendererInterface.h"
Classes | |
| struct | Cost |
| class | PathMeasurementReservation |
| Exclusive reservation for one bounded path-measurement query. More... | |
Public Member Functions | |
| void | reset () |
| void | reject () |
| void | setGradientStopLimitForTesting (std::size_t maximum) |
| bool | reserve (const Cost &cost) |
| std::optional< PathMeasurementReservation > | reservePathMeasurement () |
| Reserves all remaining path-measurement work before a bounded query starts. | |
| bool | reconcilePathMeasurement (const PathMeasurementReservation &reservation, std::size_t actualWorkUnits, bool completed) |
| Reconciles an exclusive path-measurement reservation to work actually consumed. | |
| std::size_t | drawCalls () const |
| std::size_t | pathCommands () const |
| std::size_t | pathMeasurementWorkUnits () const |
| std::size_t | gradientStops () const |
| std::size_t | imageDraws () const |
| std::uint64_t | imageBytes () const |
| bool | rejected () const |
Static Public Attributes | |
| static constexpr std::size_t | kMaximumDrawCalls = 64 * 1024 |
| static constexpr std::size_t | kMaximumPathCommands = 256 * 1024 |
| static constexpr std::size_t | kMaximumPathMeasurementWorkUnits = Path::kMaximumGeometryQueryWork |
| static constexpr std::size_t | kMaximumGradientStops = 256 * 1024 |
| static constexpr std::size_t | kMaximumImageDraws = 128 |
| static constexpr std::uint64_t | kMaximumImageBytes = 256ULL * 1024 * 1024 |
Aggregate conversion, rasterization, and upload work shared by a render frame.
| struct donner::svg::RendererDrawBudget::Cost |
|
inlinenodiscard |
Reconciles an exclusive path-measurement reservation to work actually consumed.
An incomplete query consumes its reported work and rejects the aggregate budget.
|
inlinenodiscard |
Reserves all remaining path-measurement work before a bounded query starts.
The caller must pass the returned maximum to the query, then call reconcilePathMeasurement with the query's actual work and completion outcome.