Faster shadings with a better function monotonity check.
"Igor V. Melichev" <[email protected]> Sat, 9 Apr 2005 13:01:02 +0400
| Newsgroups | gmane.comp.printing.ghostscript.patches |
|---|---|
| Message-ID | <[email protected]> |
Not committed yet due to code freeze. [Log message beg] Faster shadings with a better function monotonity check. DETAILS : It speeds up shadings in 1.2 - 2.5 times. It helps for the bug 687948 "Performance of shading fill much worse than 8.00", but now we think that that bug demonstrates an another problem, which probably relates to shadings with clipping paths. 1. The old code return ed an unknown monotonity when the interval covers several cells of a sampled function. The new code summarizes the monotonity through multiple cells. Rather shadings need 1- and 2-dimensional functions only, we developed an N-dimensional algorithm for a future use with color spaces and color renderings. 1.1. Generalized the function sample cache to linear functions (the old code cached cubic ones only). 1.2. Made the branch POLE_CACHE to be permanent. 1.3. The new function is_lattice_monotonic summarizes the monotonity through multiple cells. 1.4. The virtual function is_monotonic now returns a mask about a monotonity by each coordinate. 2. The shading decomposition is adopted to the new monotonity check. 2.1. When decomposing a patch into stripes, the color monotonity doesn't matter, because further decomposition accounts it. 2.2. When decomposing a quadrangle, the decomposition axis is being chosen according to the function monotonity through axes. 3. In the shading decomposition, cached the monotonity separately from the linearity with a new flag linear_color. EXPECTED DIFFERENCES : A minor difference in shading color with all devices and resolutions : "442-01.ps" "446-01-fixed.ps" "464-01-fixed.ps" "478-01.ps" "483-01.ps" "483-05-fixed.ps" "Altona-Testsuite_p2_S_x3.pdf" "Altona_Visual_bb_1v1_x3.pdf" "Altona_Visual_sb_1v1_x3.pdf" "Bug687840.pdf" "chilis_black.pdf" "Clarke Tate Manns Chinese.ai" "Openhuis_pdf_zw.pdf" "S2_Digitalproof-Forum_x3k.pdf" "STEUER-RollingMesh 1(linear).ai" "STEUER-RollingMesh 2(radial).ai" "STEUER-RollingMesh 3(Final).ai" [Log message end] Igor. _______________________________________________ gs-code-review mailing list [email protected] http://www.ghostscript.com/mailman/listinfo/gs-code-review
patch.txt
(application/octet-stream, 38.1 KB) - not displayed