diff options
| author | clayjohn <claynjohn@gmail.com> | 2022-06-20 21:56:26 -0700 |
|---|---|---|
| committer | clayjohn <claynjohn@gmail.com> | 2022-10-06 11:24:45 -0700 |
| commit | 154b9c1c913ee04b603989db8664481d4df1aaee (patch) | |
| tree | 6cc754761fb942a4931b63e052c583cfd951b112 /servers/rendering | |
| parent | 0c23a2cfe3ad897e1e49008629c135764b2c155c (diff) | |
Use a giant UBO to optimize performance in 2D
This removes the countless small UBO writes we had before
and replaces them with a single large write per render pass.
This results in much faster rendering on low-end devices
but improves speed on all devices.
Diffstat (limited to 'servers/rendering')
| -rw-r--r-- | servers/rendering/dummy/rasterizer_dummy.h | 3 | ||||
| -rw-r--r-- | servers/rendering/renderer_compositor.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/servers/rendering/dummy/rasterizer_dummy.h b/servers/rendering/dummy/rasterizer_dummy.h index d867114384..0fde97e395 100644 --- a/servers/rendering/dummy/rasterizer_dummy.h +++ b/servers/rendering/dummy/rasterizer_dummy.h @@ -51,6 +51,7 @@ class RasterizerDummy : public RendererCompositor { private: uint64_t frame = 1; double delta = 0; + double time = 0.0; protected: RasterizerCanvasDummy canvas; @@ -82,6 +83,7 @@ public: void begin_frame(double frame_step) override { frame++; delta = frame_step; + time += frame_step; } void prepare_for_blitting_render_targets() override {} @@ -106,6 +108,7 @@ public: uint64_t get_frame_number() const override { return frame; } double get_frame_delta_time() const override { return delta; } + double get_total_time() const override { return time; } RasterizerDummy() {} ~RasterizerDummy() {} diff --git a/servers/rendering/renderer_compositor.h b/servers/rendering/renderer_compositor.h index 8e04191e35..169988f72c 100644 --- a/servers/rendering/renderer_compositor.h +++ b/servers/rendering/renderer_compositor.h @@ -102,6 +102,7 @@ public: virtual void finalize() = 0; virtual uint64_t get_frame_number() const = 0; virtual double get_frame_delta_time() const = 0; + virtual double get_total_time() const = 0; static bool is_low_end() { return low_end; }; virtual bool is_xr_enabled() const; |