summaryrefslogtreecommitdiff
path: root/source/fitz/colorspace.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2013-12-30 12:30:11 +0000
committerRobin Watts <robin.watts@artifex.com>2014-01-02 20:04:39 +0000
commita80817d4fcc27239fb2efa769ae84c542cbae904 (patch)
tree7760b79c3af301e17ece776a6244e51e2c697f1e /source/fitz/colorspace.c
parentbd7393d1be2e3905a6c3f1bb722198217c6195dc (diff)
downloadmupdf-a80817d4fcc27239fb2efa769ae84c542cbae904.tar.xz
Bug 694585: Slow rendering of meshes
In the existing code for meshes, we decompose the mesh down into quads (or triangles) and then call a process routine to actually do the work. This process routine typically maps each vertexes position/color and plots it. As each vertex is used several times by neighbouring patches, this results in each vertex being processed several times. The fix in this commit is therefore to break the processing into 'prepare' and 'process' phases. Each vertex is 'prepared' before being used in the 'process' phase. This cuts the number of prepare operations in half. In testing, this reduced the time for a (release build, generating ppm at default resolution) run from 33.4s to 23.5s.
Diffstat (limited to 'source/fitz/colorspace.c')
0 files changed, 0 insertions, 0 deletions