Closed Bug 1474943 Opened 6 years ago Closed 6 years ago

Enable VP9 estimizer when external GPU is used

Categories

(Core :: Audio/Video: Playback, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: jya, Assigned: jya)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

It has been determined that software decoded playback is good if the external GPU is used: much lesser battery usage and slow down than when using intel.

We should allow the estimizer when the machine is running on the external GPU.
In bug 1404042, we determined that video playback of software based surface was very slow and power hungry when using the intel GPU, but was working okay when using the dGPU (either AMD or nVidia)

So always return false in IsVP9DecodeFast when the current GPU is an Intel, as well as return a benchmark score of 0

Force a new run of the benchmarking by bumping the version number.
Comment on attachment 8991381 [details]
Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r?mattwoodrow

Hi Matt.
Can you create a Phabricator account and review this please?

thanks
Attachment #8991381 - Flags: review?(matt.woodrow)
Rank: 15
Priority: -- → P2
Comment on attachment 8991381 [details]
Bug 1474943 - Enable VP9 benchmark logic when using a non intel GPU on mac. r?mattwoodrow

Matt Woodrow (:mattwoodrow) has approved the revision.

https://phabricator.services.mozilla.com/D2075
Attachment #8991381 - Flags: review+
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/73baf9b38fb8
Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow
Backed out changeset 73baf9b38fb8 (bug 1474943) for build bustage at builds/worker/workspace/build/src/dom/media/Benchmark.cpp

Backout: https://hg.mozilla.org/integration/autoland/rev/78d64d99d2b06fa62a0db764e330b5cc5e64ace1

Failure push: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=73baf9b38fb86c054e5c2c9756ed9e7ae77af4e1&selectedJob=187772154

Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=187772154&repo=autoland&lineNumber=1027

[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/bindings'
[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.418Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.419Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.419Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.505Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/dom/media'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/sccache2/sccache /builds/worker/workspace/build/src/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -std=gnu++14 --target=arm-linux-androideabi -o Unified_cpp_dom_media2.o -c -I/builds/worker/workspace/build/src/obj-firefox/dist/stl_wrappers -I/builds/worker/workspace/build/src/obj-firefox/dist/system_wrappers -include /builds/worker/workspace/build/src/config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DHAVE_UINT64_T -DWEBRTC_POSIX -DWEBRTC_BUILD_LIBEVENT -DWEBRTC_ANDROID -DMOZILLA_INTERNAL_API -DTRACING -DMOZ_ANDROID_HLS_SUPPORT -DOS_POSIX=1 -DOS_LINUX=1 -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -I/builds/worker/workspace/build/src/dom/media -I/builds/worker/workspace/build/src/obj-firefox/dom/media -I/builds/worker/workspace/build/src/caps -I/builds/worker/workspace/build/src/docshell/base -I/builds/worker/workspace/build/src/dom/base -I/builds/worker/workspace/build/src/layout/generic -I/builds/worker/workspace/build/src/layout/xul -I/builds/worker/workspace/build/src/netwerk/base -I/builds/worker/workspace/build/src/media/webrtc/signaling/src/common -I/builds/worker/workspace/build/src/media/webrtc/trunk -I/builds/worker/workspace/build/src/obj-firefox/ipc/ipdl/_ipdlheaders -I/builds/worker/workspace/build/src/ipc/chromium/src -I/builds/worker/workspace/build/src/ipc/glue -I/builds/worker/workspace/build/src/obj-firefox/dist/include -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nspr -I/builds/worker/workspace/build/src/obj-firefox/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /builds/worker/workspace/build/src/obj-firefox/mozilla-config.h -Qunused-arguments -isystem /builds/worker/workspace/build/src/android-ndk/platforms/android-9/arch-arm/usr/include -isystem /builds/worker/workspace/build/src/android-ndk/platforms/android-9/arch-arm/usr/include -gcc-toolchain /builds/worker/workspace/build/src/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64 -D__ANDROID_API__=9 -Qunused-arguments -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Werror=non-literal-null-conversion -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -fno-short-enums -fno-exceptions -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++/include -I/builds/worker/workspace/build/src/android-ndk/sources/android/support/include -I/builds/worker/workspace/build/src/android-ndk/sources/cxx-stl/llvm-libc++abi/include -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=softfp -mno-unaligned-access -fno-exceptions -fno-strict-aliasing -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pipe -g -Oz -funwind-tables -Werror -Wno-error=shadow -Wno-error=attributes -Wno-error=shadow  -MD -MP -MF .deps/Unified_cpp_dom_media2.o.pp   /builds/worker/workspace/build/src/obj-firefox/dom/media/Unified_cpp_dom_media2.cpp
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  In file included from /builds/worker/workspace/build/src/obj-firefox/dom/media/Unified_cpp_dom_media2.cpp:38:
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/dom/media/Benchmark.cpp:96:51: error: use of undeclared identifier 'sWebMSample'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -        new BufferMediaResource(sWebMSample, sizeof(sWebMSample)));
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -                                                    ^
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/dom/media/Benchmark.cpp:96:31: error: use of undeclared identifier 'sWebMSample'
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -        new BufferMediaResource(sWebMSample, sizeof(sWebMSample)));
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -                                ^
[task 2018-07-12T08:21:33.510Z] 08:21:33     INFO -  2 errors generated.
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/config/rules.mk:1052: recipe for target 'Unified_cpp_dom_media2.o' failed
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: *** [Unified_cpp_dom_media2.o] Error 1
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/dom/media'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  /builds/worker/workspace/build/src/config/recurse.mk:74: recipe for target 'dom/media/target' failed
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[3]: *** [dom/media/target] Error 2
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[3]: *** Waiting for unfinished jobs....
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.511Z] 08:21:33     INFO -  make[4]: Leaving directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
[task 2018-07-12T08:21:33.545Z] 08:21:33     INFO -  make[4]: Entering directory '/builds/worker/workspace/build/src/obj-firefox/gfx/skia'
Flags: needinfo?(jyavenard)
Pushed by jyavenard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/8355e37f9d18
Enable VP9 benchmark logic when using a non intel GPU on mac. r=mattwoodrow
https://hg.mozilla.org/mozilla-central/rev/8355e37f9d18
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Depends on: 1475467
Flags: needinfo?(jyavenard)
Assignee: nobody → jyavenard
Attachment #8991381 - Flags: review?(matt.woodrow)

I think the commit has caused a regression.

Shouldn't "VP9Benchmark::MediaBenchmarkVp9Fps()" return "StaticPrefs::MediaBenchmarkVp9Fps()" instead of "StaticPrefs::MediaBenchmarkVp9Threshold()"?

(In reply to Kristian Klausen from comment #8)

I think the commit has caused a regression.

Shouldn't "VP9Benchmark::MediaBenchmarkVp9Fps()" return "StaticPrefs::MediaBenchmarkVp9Fps()" instead of "StaticPrefs::MediaBenchmarkVp9Threshold()"?

you're absolutely right.

Depends on: 1524119
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: