Reduce number of expf() calls for setTargetAtTime()
Categories
(Core :: Web Audio, enhancement)
Tracking
()
Tracking | Status | |
---|---|---|
firefox120 | --- | fixed |
People
(Reporter: karlt, Assigned: karlt)
References
Details
Attachments
(10 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Bug 1358149 comment 55 indicates that expf() evaluation is having a significant effect on the "Synth" and "Substractive synth" performance benchmarks, which use setTargetAtTime().
Using a linear recurrence relation to skip most of the expf() calls improves performance on "Substractive synth" by 13-23% and on "Synth" by 10-19% .
Assignee | ||
Comment 1•1 year ago
|
||
On top of other recent performance improvements, this now reduces time by 25 - 30% on "Substractive synth".
Assignee | ||
Comment 2•1 year ago
|
||
AudioParam uses ValidateEvent() and InsertEvent().
Assignee | ||
Comment 3•1 year ago
|
||
To simplify parameter sets and clarify which parameters may be in use.
Depends on D189463
Assignee | ||
Comment 4•1 year ago
|
||
Depends on D189464
Assignee | ||
Comment 5•1 year ago
|
||
This is a more natural place to manage the AudioTimelineEvent members.
It will also be a better place for pre-computing a constant exponential for
SetTarget curves in a subsequent patch.
Depends on D189465
Assignee | ||
Comment 6•1 year ago
|
||
Depends on D189466
Assignee | ||
Comment 7•1 year ago
|
||
where SetValueCurve requires different parameters.
These objects are copied when inserted into and moved within the
AudioEventTimeline array.
Depends on D189467
Assignee | ||
Comment 8•1 year ago
|
||
This changes failure messages from
assert_true: sample 1471 should equal 0.24924172461032867 expected true got false
to
assert_approx_equals: sample 1471 expected 0.24924172461032867 +/- 0.000001342 but got 0.24924308061599731
Depends on D189468
Assignee | ||
Comment 9•1 year ago
|
||
Depends on D189469
Assignee | ||
Comment 10•1 year ago
|
||
addressing a cppcoreguidelines-pro-type-member-init warning.
Depends on D189468
Assignee | ||
Comment 11•1 year ago
|
||
Depends on D189628
Comment 12•1 year ago
|
||
Comment 13•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/648bf0239d99
https://hg.mozilla.org/mozilla-central/rev/7139b608a37e
Comment 14•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 15•1 year ago
|
||
Comment 16•1 year ago
|
||
bugherder |
Comment 17•1 year ago
|
||
Comment 18•1 year ago
|
||
Comment 20•1 year ago
|
||
Comment 21•1 year ago
|
||
Assignee | ||
Updated•1 year ago
|
Comment 22•1 year ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/f1f858a5c8c2
https://hg.mozilla.org/mozilla-central/rev/d7b66b8f2e34
https://hg.mozilla.org/mozilla-central/rev/19c7e9c983a2
https://hg.mozilla.org/mozilla-central/rev/b781e655236d
Comment 24•1 year ago
|
||
bugherder |
Description
•