勉强完成延迟很高

This commit is contained in:
2026-08-23 23:11:40 +08:00
parent 3938e72bb7
commit 933ff2ec08
43 changed files with 4294 additions and 1168 deletions
+4
View File
@@ -30,9 +30,13 @@ struct Frame_2D::Private {
};
Frame_2D::Frame_2D(Frame_Identity identity, Pixel_Format output_format)
: Render_Frame(identity), d(std::make_unique<Private>()) {
begin(identity, output_format);
}
void Frame_2D::begin(Frame_Identity identity, Pixel_Format output_format) {
if (std::ranges::find(supported_pixel_formats, output_format) ==
supported_pixel_formats.end())
throw std::invalid_argument("Frame_2D output pixel format is unsupported");
Render_Frame::begin(identity);
d->output_format = output_format;
}
Frame_2D::~Frame_2D() = default;
+3
View File
@@ -19,6 +19,9 @@ public:
explicit Frame_2D(Frame_Identity identity,
Pixel_Format output_format = native_pixel_format);
~Frame_2D() override;
/* 保留 Blend2D 图像分配,只重启物理槽承载的新逻辑帧。 */
void begin(Frame_Identity identity,
Pixel_Format output_format = native_pixel_format);
[[nodiscard]] Pixel_Format output_format() const noexcept;
[[nodiscard]] Image_View image() const;
/* 按本帧声明的输出格式生成连续像素;原生格式只做必要的行打包。 */