优化
This commit is contained in:
@@ -281,6 +281,7 @@ void Render_Scene_3D::Private::ensure_frame_taskflow(Object* object) {
|
||||
template <Attached Object>
|
||||
Render_Scene_3D::Render_Result Render_Scene_3D::Private::render(Object* object, Frame_3D* frame) {
|
||||
if (!frame) throw std::invalid_argument("Render_Scene_3D requires a non-null external frame");
|
||||
frame->mark(Frame_Trace_Marker::scene_render_entered);
|
||||
{
|
||||
std::lock_guard lock(render_mutex);
|
||||
if (!frame_callback)
|
||||
@@ -301,7 +302,9 @@ Render_Scene_3D::Render_Result Render_Scene_3D::Private::render(Object* object,
|
||||
* 在创建或执行 frame_taskflow 前一次性推进完整 Scene,确保公共
|
||||
* Render_Graph_Tag 已构建并且 frame DAG 引用的是同一权威运行图。
|
||||
*/
|
||||
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 = static_cast<const Prop&>(
|
||||
double_buffer::detail::Internal_Access::current_prop(object));
|
||||
if (!prop.view_active) return reject_frame(Render_Result::view_inactive);
|
||||
|
||||
Reference in New Issue
Block a user