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

Issue 2033503004: Avoid slow AudioParam automation path when possible (Closed)

Created:
4 years, 6 months ago by Raymond Toy
Modified:
4 years, 5 months ago
Reviewers:
hongchan
CC:
Raymond Toy, blink-reviews, chromium-reviews, haraken, hongchan
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Avoid slow AudioParam automation path when possible Currently, when any automation method is called for an AudioParam, all future uses for the AudioParam must go through the timeline processing code. This can be slow. To optimize this, when running the timeline, check to see if the last event is in the past (and is not a SetTarget event, which lasts forever), and just quickly return the default value. Also empty the timeline since all events are past. Then the faster non-timeline code can be done. A couple of nodes needed to be updated because they weren't ready to handle switching from automation to non-automation. biquad-automation.html modified to end automation before the end of rendering to show that changing from automation path to fast path works. audio-testing.js updated to handle a relative error of Infinity. This happens because the expected value is 0 so the relative error is either Infinity or NaN. BUG=551484 TESTS=biquad-automation.html Committed: https://crrev.com/3338dd16e602d195a40833200211ff55e15e1586 Cr-Commit-Position: refs/heads/master@{#402227}

Patch Set 1 #

Patch Set 2 #

Patch Set 3 : Simplify condition on deleting old events. #

Patch Set 4 : Add comments #

Patch Set 5 : Move m_smoothedValue from AudioParam to AudioParamTimeline. #

Total comments: 7

Patch Set 6 : Address review comments #

Messages

Total messages: 15 (7 generated)
Raymond Toy
PTAL
4 years, 6 months ago (2016-06-17 20:52:56 UTC) #5
hongchan
https://codereview.chromium.org/2033503004/diff/80001/third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt File third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt (left): https://codereview.chromium.org/2033503004/diff/80001/third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt#oldcode2 third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt:2: CONSOLE WARNING: line 264: BiquadFilter.frequency.setValueAtTime value 10000 outside nominal ...
4 years, 6 months ago (2016-06-20 16:14:41 UTC) #6
Raymond Toy
https://codereview.chromium.org/2033503004/diff/80001/third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt File third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt (left): https://codereview.chromium.org/2033503004/diff/80001/third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt#oldcode2 third_party/WebKit/LayoutTests/webaudio/biquad-automation-expected.txt:2: CONSOLE WARNING: line 264: BiquadFilter.frequency.setValueAtTime value 10000 outside nominal ...
4 years, 6 months ago (2016-06-20 16:57:56 UTC) #7
Raymond Toy
Ping
4 years, 6 months ago (2016-06-24 16:42:11 UTC) #8
hongchan
lgtm
4 years, 6 months ago (2016-06-24 17:31:34 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2033503004/100001
4 years, 5 months ago (2016-06-27 16:50:11 UTC) #11
commit-bot: I haz the power
Committed patchset #6 (id:100001)
4 years, 5 months ago (2016-06-27 18:09:50 UTC) #13
commit-bot: I haz the power
4 years, 5 months ago (2016-06-27 18:13:12 UTC) #15
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/3338dd16e602d195a40833200211ff55e15e1586
Cr-Commit-Position: refs/heads/master@{#402227}

Powered by Google App Engine
This is Rietveld 408576698