commit d19ade9a611d3ecf6840c5eb43291cb268ad6f4f
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Mon Jul 24 15:35:16 2023 +0200

    Remove some redundant calls to updatePosCache
    
    The setting of insets positions was done twice in updateMetrics.
    When one of the paragraph is a huge branch, this can be very expensive.
    
    This leads to a 17% improvement on updateMetrics time on a scrolling test.
    
    Part of bug #12297
---
 src/BufferView.cpp | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/BufferView.cpp b/src/BufferView.cpp
index fd61401dff..3612143019 100644
--- a/src/BufferView.cpp
+++ b/src/BufferView.cpp
@@ -3161,7 +3161,6 @@ void BufferView::updateMetrics(Update::flags & 
update_flags)
                }
        }
        anchor_pm.setPosition(d->anchor_ypos_);
-       tm.updatePosCache(d->anchor_pit_);
 
        LYXERR(Debug::PAINTING, "metrics: "
                << " anchor pit = " << d->anchor_pit_
@@ -3177,7 +3176,6 @@ void BufferView::updateMetrics(Update::flags & 
update_flags)
                y1 -= pm.descent();
                // Save the paragraph position in the cache.
                pm.setPosition(y1);
-               tm.updatePosCache(pit1);
                y1 -= pm.ascent();
        }
 
@@ -3191,7 +3189,6 @@ void BufferView::updateMetrics(Update::flags & 
update_flags)
                y2 += pm.ascent();
                // Save the paragraph position in the cache.
                pm.setPosition(y2);
-               tm.updatePosCache(pit2);
                y2 += pm.descent();
        }
 
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to