Repository navigation
Conversation
0355c20 to
c74ec6a
Compare
c74ec6a to
da8eb6a
Compare
Merging this PR will improve performance by 67.79%3 warnings
Performance Changes
Tip Curious why performance improved? Comment Comparing Footnotes
|
da8eb6a to
e7903cb
Compare
81701ae to
b8961b8
Compare
b8961b8 to
d06bef6
Compare
d06bef6 to
0aeef3e
Compare
|
Could you add a release note under "Other changes"? Something like: |
59a9d41 to
9b561c8
Compare
7471358 to
234f54a
Compare
8cec94b to
9f4da93
Compare
|
I'm reluctant to add in 92 lines for the 'vline' commit, so I ran this PR excluding that single commit in radarhere#40... and it became faster? My PR reported 68.01%, compared to this PR's 67.9%. |
|
Mm, looks like none of the current benchmarks actually end up measuring vline so that 0.11 percentage point is benchmarks missing branches. With a benchmark that draws a grid (hlines and vlines), I'm seeing a speedup of up to 1.2x; outlined rects also need vline and those become 1.7x to 2.1x. Would you like me to add these benchmarks too? |
9f4da93 to
91fb643
Compare
Since
hlineis the primitive used for scanline-filling polygons, this will speed that up too (especially in the translucent cases), there's just no benchmark for it (yet? I can add one).In the RGB(A) hline case, the speedup is unswitch (two unswitches actually) and autovectorization.
And the -97.3% reduction below is just... not painting when the ink is entirely translucent. 😄EDIT: Translucent ink speedup doesn't show up here anymore since it was separately implemented in #10219 afterwards.
This also fixes the inadvertent performance regression from #9982's augmentation commits.