https://bugs.documentfoundation.org/show_bug.cgi?id=85867

--- Comment #3 from Pierre-Eric Pelloux-Prayer <pell...@gmail.com> ---
Here's my understanding of the problem.
Line graph are drawn using the PolygonStrokePrimitive2D primitive (see
sdrdecompositiontools.cxx)
When the UI is frozen, the stacktrace is:
(gdb) bt 10
#0  solveHorizontalEdges (rTrDeSimpleEdges=std::vector of length 3567, capacity
4096 = {...}, this=0x7fffffffb3c0) at basegfx/source/polygon/b2dtrapez
oid.cxx:475
#1  TrapezoidSubdivider (rSourcePolyPolygon=..., this=0x7fffffffb3c0) at
basegfx/source/polygon/b2dtrapezoid.cxx:591
#2  basegfx::tools::trapezoidSubdivide (ro_Result=std::vector of length 0,
capacity 0, rSourcePolyPolygon=...) at basegfx/source/polygon/b2dtrapezoid.
cxx:956
#3  0x00007fffe0a663ff in X11SalGraphicsImpl::drawPolyPolygon (this=0x1bd26d0,
rOrigPolyPoly=..., fTransparency=0) at vcl/unx/generic/gdi/gdiimpl.cxx:
1554
#4  0x00007ffff2493769 in SalGraphics::DrawPolyPolygon (this=0x1bd4c50,
i_rPolyPolygon=..., i_fTransparency=i_fTransparency@entry=0,
i_pOutDev=i_pOutDev@entry=0x1bd89a8) at /home/pierre
-eric/code/libreoffice/vcl/source/gdi/salgdilayout.cxx:457
#5  0x00007ffff237de27 in OutputDevice::drawLine (this=this@entry=0x1bd89a8,
aLinePolyPolygon=..., rInfo=...) at vcl/source/outdev/line.cxx:260
#6  0x00007ffff237f4a5 in OutputDevice::drawPolyLine
(this=this@entry=0x1bd89a8, rPoly=..., rLineInfo=...) at
vcl/source/outdev/polyline.cxx:247
#7  0x00007ffff237eee6 in OutputDevice::DrawPolyLine (this=0x1bd89a8,
rB2DPolygon=..., fLineWidth=fLineWidth@entry=5.2791686397418474,
eLineJoin=eLineJoin@entry=basegfx::B2DLINEJOIN_ROU
ND, eLineCap=eLineCap@entry=com::sun::star::drawing::LineCap_BUTT) at
vcl/source/outdev/polyline.cxx:215
#8  0x00007fffee7f1fee in
drawinglayer::processor2d::VclProcessor2D::RenderPolygonStrokePrimitive2D
(this=this@entry=0x1c2f0b0, rPolygonStrokeCandidate=...) at
breoffice/drawinglayer/source/processor2d/vclprocessor2d.cxx:1322
#9  0x00007fffee7ed695 in
drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D
(this=0x1c2f0b0, rCandidate=...) at drawinglayer/sour
ce/processor2d/vclpixelprocessor2d.cxx:1074

The polypolygon to trapezoid method is complex and doesn't scale well when
10.000+ edges are involved.

I tested various patches but I'm not sure which one is better

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to