Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1576)

Issue 6449080: special-case edge-building for polygons (paths with only lines) (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
12 years, 3 months ago by reed1
Modified:
12 years, 3 months ago
Reviewers:
bsalomon, caryclark1
CC:
skia-review_googlegroups.com
Base URL:
http://skia.googlecode.com/svn/trunk/
Visibility:
Public.

Description

special-case edge-building for polygons (paths with only lines) makes the dashing bench faster (from 13.4 -> 11.5 ticks) Committed: https://code.google.com/p/skia/source/detail?r=4916

Patch Set 1 #

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+102 lines, -8 lines) Patch
M include/core/SkLineClipper.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/core/SkEdgeBuilder.h View 1 1 chunk +17 lines, -4 lines 0 comments Download
M src/core/SkEdgeBuilder.cpp View 1 3 chunks +83 lines, -3 lines 0 comments Download

Messages

Total messages: 2
reed1
Key seems to be: - remove overhead of using chunkalloc.alloc() per-edge - remove overhead of ...
12 years, 3 months ago (2012-08-01 21:49:28 UTC) #1
bsalomon
12 years, 3 months ago (2012-08-02 13:40:26 UTC) #2
On 2012/08/01 21:49:28, reed1 wrote:
> Key seems to be:
> - remove overhead of using chunkalloc.alloc() per-edge
> - remove overhead of growing/checking fList on each append
> 
> Downsides:
> - we can often allocate more than needed (e.g. if a lot of edges are discarded
> if setEdge returns false)
> 
> Other improvements:
> - can I skip calling the SkPath::Iter, esp. in this simple case?
> - can/should any of these changes be applied in the general case?

The parts I understand LGTM. It does seems like we could have a fast line-only
iterator.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b