Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Issue 140053006: Optimize glyph positioning for SVG <textPath> layout (Closed)

Created:
6 years, 10 months ago by fs
Modified:
6 years, 10 months ago
CC:
blink-reviews, jamesr, krit, jbroman, bemjb+rendering_chromium.org, dsinclair, zoltan1, eae+blinkwatch, leviw+renderwatch, danakj, ed+blinkwatch_opera.com, Rik, f(malita), gyuyoung.kim_webkit.org, jchaffraix+rendering, pdr, Stephen Chennney, pdr., rwlbuis
Visibility:
Public.

Description

Optimize glyph positioning for SVG <textPath> layout Introduce a new class Path::PositionCalculator, that keeps traversal state related to path position/normal calculations, and allows exploiting locality for such queries. Using this new class for the layout of glyphs on a <textPath>. This means it possible to achieve O(n) runtimes in many cases. The worst case remains the same, O(n^2), as when using state-less queries. Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=166813

Patch Set 1 #

Patch Set 2 : Add PLATFORM_EXPORT. #

Total comments: 2

Patch Set 3 : Use raw pointer for m_textPathCalculator. #

Total comments: 2

Patch Set 4 : This is why I used an OwnPtr... #

Unified diffs Side-by-side diffs Delta from patch set Stats (+71 lines, -12 lines) Patch
M Source/core/rendering/svg/SVGTextLayoutEngine.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M Source/core/rendering/svg/SVGTextLayoutEngine.cpp View 1 2 3 5 chunks +9 lines, -6 lines 0 comments Download
M Source/platform/graphics/Path.h View 1 2 chunks +20 lines, -0 lines 0 comments Download
M Source/platform/graphics/Path.cpp View 3 chunks +41 lines, -5 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
fs
6 years, 10 months ago (2014-02-07 14:29:11 UTC) #1
Stephen Chennney
Nice. The inefficiency of SVG text layout actually came up in a discussion with the ...
6 years, 10 months ago (2014-02-07 16:16:05 UTC) #2
fs
On 2014/02/07 16:16:05, Stephen Chenney wrote: > Nice. The inefficiency of SVG text layout actually ...
6 years, 10 months ago (2014-02-07 17:08:58 UTC) #3
fs
https://codereview.chromium.org/140053006/diff/40001/Source/core/rendering/svg/SVGTextLayoutEngine.h File Source/core/rendering/svg/SVGTextLayoutEngine.h (right): https://codereview.chromium.org/140053006/diff/40001/Source/core/rendering/svg/SVGTextLayoutEngine.h#newcode99 Source/core/rendering/svg/SVGTextLayoutEngine.h:99: OwnPtr<Path::PositionCalculator> m_textPathCalculator; On 2014/02/07 16:16:05, Stephen Chenney wrote: > ...
6 years, 10 months ago (2014-02-07 17:09:19 UTC) #4
fs
https://codereview.chromium.org/140053006/diff/120001/Source/core/rendering/svg/SVGTextLayoutEngine.cpp File Source/core/rendering/svg/SVGTextLayoutEngine.cpp (right): https://codereview.chromium.org/140053006/diff/120001/Source/core/rendering/svg/SVGTextLayoutEngine.cpp#newcode230 Source/core/rendering/svg/SVGTextLayoutEngine.cpp:230: m_textPathCalculator = 0; Crap, it's too late here...
6 years, 10 months ago (2014-02-07 17:12:00 UTC) #5
fs
https://codereview.chromium.org/140053006/diff/120001/Source/core/rendering/svg/SVGTextLayoutEngine.cpp File Source/core/rendering/svg/SVGTextLayoutEngine.cpp (right): https://codereview.chromium.org/140053006/diff/120001/Source/core/rendering/svg/SVGTextLayoutEngine.cpp#newcode230 Source/core/rendering/svg/SVGTextLayoutEngine.cpp:230: m_textPathCalculator = 0; On 2014/02/07 17:12:01, fs wrote: > ...
6 years, 10 months ago (2014-02-07 17:12:39 UTC) #6
Stephen Chennney
Get some rest. :-) LGTM
6 years, 10 months ago (2014-02-07 18:20:15 UTC) #7
fs
The CQ bit was checked by fs@opera.com
6 years, 10 months ago (2014-02-10 08:30:51 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/fs@opera.com/140053006/180001
6 years, 10 months ago (2014-02-10 08:31:07 UTC) #9
commit-bot: I haz the power
6 years, 10 months ago (2014-02-10 09:30:59 UTC) #10
Message was sent while issue was closed.
Change committed as 166813

Powered by Google App Engine
This is Rietveld 408576698