Page MenuHomePhabricator

Improve performance of PlanarFigure handling
Closed, ResolvedPublic

Description

The handling and/or rendering of PlanarFigures is currently unexpectedly slow. The bootle-neck responsible for this needs to be found and removed.

Event Timeline

The performance bottle-neck is in PlanarCircle objects, which currently consist of 256 polygon points. For other PlanarFigures, rendering performances is ok.

All polygon points have to be transformed from local 2D coordinates to 3D world coordinates and back to 2D display coordinates. This transformation is rather slow in the way it is currently implemented (concatenation of several transformation methods in Geometry subclasses). Two ways to improve performance are:

1.) Simplify point transformation by generating one single transformation matrix (instead of multiple concatenated transforms) to be used in all transformations

2.) Reduce number of polygon points for PlanarCIrcle (quick and simple solution)

[SVN revision 20541]
FIX (#2794): Improved performance by reducing number of polygon points for PlanarCircles from 256 to 64

64 polygon points still produce nice circles and improve rendering performance. Removing 3M3 tag.