帧策略展示优化

This commit is contained in:
2026-08-27 19:58:04 +08:00
parent 14f5421925
commit 41b81c5c87
19 changed files with 685 additions and 200 deletions
+3 -2
View File
@@ -11,11 +11,12 @@ Frame_2D::Frame_2D(Frame_Identity identity, Pixel_Format output_format)
begin(identity, output_format);
}
void Frame_2D::begin(Frame_Identity identity, Pixel_Format output_format,
Frame_Request_Source source) {
Frame_Request_Source source,
const Frame_Policy::State& frame_policy) {
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, source);
Render_Frame::begin(identity, source, frame_policy);
d->output_format = output_format;
}
Frame_2D::~Frame_2D() = default;
+2 -1
View File
@@ -24,7 +24,8 @@ public:
/* 保留二维后端图像分配,只重启物理槽承载的新逻辑帧。 */
void begin(Frame_Identity identity,
Pixel_Format output_format = native_pixel_format,
Frame_Request_Source source = Frame_Request_Source::unspecified);
Frame_Request_Source source = Frame_Request_Source::unspecified,
const Frame_Policy::State& frame_policy = {});
[[nodiscard]] Pixel_Format output_format() const noexcept;
[[nodiscard]] Image_View image() const;
/* 按本帧声明的输出格式生成连续像素;原生格式只做必要的行打包。 */