Bug 70914 - Terribly low performance of selecting/moving/resizing tables and text frames
Summary: Terribly low performance of selecting/moving/resizing tables and text frames
Status: RESOLVED DUPLICATE of bug 47726
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
4.1.2.3 release
Hardware: x86-64 (AMD64) Linux (All)
: high critical
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-27 14:46 UTC by Piotr Kołaczkowski
Modified: 2013-11-12 13:01 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Kołaczkowski 2013-10-27 14:46:11 UTC
Working with tables and text frames in LibreOffice Impress is nightmare. Selecting and dragging tables and text frames is extremely laggy, to the point it is barely usable, which renders the whole Impress Suite barely usable.

A few scenarios where it occurs:
1. Insert an empty 10x2 table. Now try to move it - the UI reacts with delays of sometimes several seconds (!) and doesn't even display the new position of the table - so I can't see where I move it. 

2. Now try to select a few cells. Again - there's a considerably huge delay between clicking and UI reaction. 

3. Insert a text frame. Type 5 words into it. Try to move it. Works flawlessly, doesn't it? Now type 50 words into it and try the same. Now the lag is clearly visible. The more text, the more laggy are all the moving / resizing operations (even basic selection is slow). 

The problem does *not* occur if I select at least *two* objects and move them together.

Environment information:

OS: Ubuntu 13.04 and 13.10, 64-bit

Hardware: Intel Core i7-2760QM CPU @ 2.40GHz × 8, 24 GB RAM @ 1600 MHz

Libre Office versions: 4.1.2.3, some recent 4.0.x.x and I remember it being a problem in some late 3.6 version. It feels like it got much worse in 4.1, but I haven't measured, maybe I'm just tired of it.
Comment 1 Piotr Kołaczkowski 2013-10-28 08:41:37 UTC
Today I noticed another interesting thing.

The performance depends on the size of the Impress main window. If I keep it maximized (2560x1600), the performance is terrible like described. If I keep it much smaller, e.g. 1/2 of the full size - it gets acceptable. Still far from responsive, but at least usable. 

This let me come to an idea of checking what top shows during the process of moving the table. It turned out, Xorg is taking 99% of CPU (when moving table in LO) while LO itself is fine with only about 5-15%. 

So I guess LO must be doing some heavy refreshing or repainting or some other heavy calls to the graphics pipeline, even though the operation of moving/selecting 2D objects is extremely simple. My slides are nothing fancy, no heavy images, no videos, no embedded objects, mostly academic-style black text on white and a few small tables. Even if you needed to repaint the whole slide in the loop, performance for that kind of complexity should be in thousands FPS, not 0.2 FPS. 

BTW: I'm neither noticing any performance problems like that with other applications that involve dragging 2D objects or even drawing lots of moving elements games. Ubuntu Unity flies on this hardware and both 2D and 3D acceleration is awesome.

glmark2 benchmark results:
=======================================================
    glmark2 2012.08
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   Quadro 1000M/PCIe/SSE2
    GL_VERSION:    4.3.0 NVIDIA 319.32
=======================================================
[build] use-vbo=false: FPS: 2259 FrameTime: 0.443 ms
[build] use-vbo=true: FPS: 2572 FrameTime: 0.389 ms
[texture] texture-filter=nearest: FPS: 2294 FrameTime: 0.436 ms
[texture] texture-filter=linear: FPS: 2269 FrameTime: 0.441 ms
[texture] texture-filter=mipmap: FPS: 2393 FrameTime: 0.418 ms
[shading] shading=gouraud: FPS: 1998 FrameTime: 0.501 ms
[shading] shading=blinn-phong-inf: FPS: 2123 FrameTime: 0.471 ms
[shading] shading=phong: FPS: 1864 FrameTime: 0.536 ms
[bump] bump-render=high-poly: FPS: 1191 FrameTime: 0.840 ms
[bump] bump-render=normals: FPS: 2664 FrameTime: 0.375 ms
[bump] bump-render=height: FPS: 2584 FrameTime: 0.387 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 1102 FrameTime: 0.907 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 462 FrameTime: 2.165 ms
[pulsar] light=false:quads=5:texture=false: FPS: 1823 FrameTime: 0.549 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 536 FrameTime: 1.866 ms
[desktop] effect=shadow:windows=4: FPS: 1063 FrameTime: 0.941 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 901 FrameTime: 1.110 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1099 FrameTime: 0.910 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 871 FrameTime: 1.148 ms
[ideas] speed=duration: FPS: 1591 FrameTime: 0.629 ms
[jellyfish] <default>: FPS: 1058 FrameTime: 0.945 ms
[terrain] <default>: FPS: 117 FrameTime: 8.547 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 2094 FrameTime: 0.478 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 1564 FrameTime: 0.639 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 2117 FrameTime: 0.472 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 2078 FrameTime: 0.481 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 1902 FrameTime: 0.526 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 2096 FrameTime: 0.477 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 2109 FrameTime: 0.474 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 1886 FrameTime: 0.530 ms
=======================================================
                                  glmark2 Score: 1689 
=======================================================
Comment 2 justflythere 2013-11-12 13:01:05 UTC

*** This bug has been marked as a duplicate of bug 47726 ***