优化
This commit is contained in:
@@ -328,6 +328,10 @@ void Render_Scene_2D::Private::ensure_frame_taskflow(Object* object) {
|
||||
template <Attached Object>
|
||||
std::expected<void, Render_Scene_2D::Render_Result>
|
||||
Render_Scene_2D::Private::render(Object* object, Frame_2D* frame) {
|
||||
if (!frame)
|
||||
throw std::invalid_argument(
|
||||
"Render_Scene_2D requires a non-null external frame");
|
||||
frame->mark(Frame_Trace_Marker::scene_render_entered);
|
||||
Frame_Callback callback;
|
||||
Frame_Callback retired_callback;
|
||||
{
|
||||
@@ -353,7 +357,9 @@ Render_Scene_2D::Private::render(Object* object, Frame_2D* frame) {
|
||||
* no Taskflow is running. The completion callback only publishes
|
||||
* results; it must not modify a graph that is still executing.
|
||||
*/
|
||||
frame->mark(Frame_Trace_Marker::scene_advance_started);
|
||||
double_buffer::detail::Internal_Access::advance(object);
|
||||
frame->mark(Frame_Trace_Marker::scene_advance_finished);
|
||||
const Prop& prop = double_buffer::detail::Internal_Access::current_prop_layer<Render_Scene_2D::Base_Tag>(object);
|
||||
if (!prop.view_active) {
|
||||
release_admission();
|
||||
|
||||
Reference in New Issue
Block a user