Skip to content

Commit 594fd1d

Browse files
committed
FTI - Optimize non-interpolated 2D items
1 parent 7fbc3a5 commit 594fd1d

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

servers/rendering/renderer_canvas_cull.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ void RendererCanvasCull::_collect_ysort_children(RendererCanvasCull::Item *p_can
116116
// To y-sort according to the item's final position, physics interpolation
117117
// and transform snapping need to be applied before y-sorting.
118118
Transform2D child_xform;
119-
if (!_interpolation_data.interpolation_enabled || !child_items[i]->interpolated) {
119+
if (!_interpolation_data.interpolation_enabled || !child_items[i]->interpolated || !child_items[i]->on_interpolate_transform_list) {
120120
child_xform = child_items[i]->xform_curr;
121121
} else {
122122
real_t f = Engine::get_singleton()->get_physics_interpolation_fraction();
@@ -348,7 +348,7 @@ void RendererCanvasCull::_cull_canvas_item(Item *p_canvas_item, const Transform2
348348
// and is passed as `p_parent_xform` afterwards. No need to recalculate.
349349
final_xform = p_parent_xform;
350350
} else {
351-
if (!_interpolation_data.interpolation_enabled || !ci->interpolated) {
351+
if (!_interpolation_data.interpolation_enabled || !ci->interpolated || !ci->on_interpolate_transform_list) {
352352
self_xform = ci->xform_curr;
353353
} else {
354354
real_t f = Engine::get_singleton()->get_physics_interpolation_fraction();

servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ void RendererCanvasRenderRD::canvas_render_items(RID p_to_render_target, Item *p
602602
}
603603

604604
Transform2D final_xform;
605-
if (!RSG::canvas->_interpolation_data.interpolation_enabled || !l->interpolated) {
605+
if (!RSG::canvas->_interpolation_data.interpolation_enabled || !l->interpolated || !l->on_interpolate_transform_list) {
606606
final_xform = l->xform_curr;
607607
} else {
608608
real_t f = Engine::get_singleton()->get_physics_interpolation_fraction();

0 commit comments

Comments
 (0)