The branch, biginset, has been updated.

- Log -----------------------------------------------------------------

commit 724abcf97cad9d59cc5fed8e86c927c6c7473191
Author: Jean-Marc Lasgouttes <[email protected]>
Date:   Thu Dec 21 16:33:06 2023 +0100

    Do not compute metrics at each preview when loading file
    
    With the branch-test.lyx file from #12297, loading takes forever when
    previews are activated. This is because each preview element causes a
    full screen metrics recomputation.
    
    This commit just skips these calls and only does one when all previews
    have been obtained. As a result, computing the previews takes 1 second
    instead of 25 seconds on branch-test.lyx.
    
    Part of bug #12297.

diff --git a/src/graphics/PreviewLoader.cpp b/src/graphics/PreviewLoader.cpp
index a350a49..aec8b1e 100644
--- a/src/graphics/PreviewLoader.cpp
+++ b/src/graphics/PreviewLoader.cpp
@@ -786,6 +786,16 @@ void PreviewLoader::Impl::finishedGenerating(pid_t pid, 
int retval)
        // Remove the item from the list of still-executing processes.
        in_progress_.erase(git);
 
+#if 0
+       /* FIXME : there is no need for all these calls, which recompute
+        * all metrics for each and every preview. The single call at the
+        * end of this method is sufficient.
+
+        * It seems that this whole imageReady mechanism is actually not
+        * needed. If it is the case, the whole updateFrontend/updateInset
+        * bloat can go too.
+        */
+
        // Tell the outside world
        list<PreviewImagePtr>::const_reverse_iterator
                nit  = newimages.rbegin();
@@ -794,6 +804,8 @@ void PreviewLoader::Impl::finishedGenerating(pid_t pid, int 
retval)
        for (; nit != nend; ++nit) {
                imageReady(*nit->get());
        }
+#endif
+
        finished_generating_ = true;
        buffer_.scheduleRedrawWorkAreas();
 }

-----------------------------------------------------------------------

Summary of changes:
 src/graphics/PreviewLoader.cpp |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)


hooks/post-receive
-- 
Repository for new features
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to