New issue
Advanced search Search tips

Issue 794712 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

SetTarget events should eventually terminate

Project Member Reported by rtoy@chromium.org, Dec 13 2017

Issue description

Currently, SetTarget events last forever in the timeline because, well, exponential approaches last forever.

However, in practice, once the actual value is close enough to the target value, we should stop processing this event and hold the value at the target.

In the current implementation, we actually have an optimization where we don't compute the value anymore if it's close enough to the target.

We should extend this optimization so that the event is actually removed from the timeline.  This allows AudioParam's and nodes to process faster because the fast path (with constant) values can be used.
 

Comment 1 by rtoy@chromium.org, Dec 18 2017

Status: Started (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/383cca0d59f8ea979f2a702ca88d4a1aeb5dd18e

commit 383cca0d59f8ea979f2a702ca88d4a1aeb5dd18e
Author: Raymond Toy <rtoy@chromium.org>
Date: Thu Jan 04 22:51:08 2018

Remove SetTarget events when finished

If the last event in the timeline is SetTarget, and the current value
is close enough to the final value, and if enough time has elapsed
since the beginning of the event, we can remove the SetTarget event
from the timeline.

Doing so allows all nodes to use the fast path because the AudioParam
is a constant over the rendering quantum.

Bug:  794712 
Test: 
Change-Id: I7274f9ba10b4a31728c6329c0fca3394cb557e7f
Reviewed-on: https://chromium-review.googlesource.com/826124
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Reviewed-by: Hongchan Choi <hongchan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527127}
[modify] https://crrev.com/383cca0d59f8ea979f2a702ca88d4a1aeb5dd18e/third_party/WebKit/Source/modules/webaudio/AudioParamTimeline.cpp

Comment 3 by rtoy@chromium.org, Jan 5 2018

Status: Fixed (was: Started)

Sign in to add a comment