New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 829524 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

Enable GpuMemoryBuffer backed video frames on Windows for WebRTC use

Project Member Reported by emir...@chromium.org, Apr 5 2018

Issue description

This issue came up when discussing performance improvements that followed enabling GpuMemoryBufferVideoFramePool in WebMediaPlayerMS, see https://bugs.chromium.org/p/chromium/issues/detail?id=828060#c8. CreateForSoftwarePlanes() takes unexpectedly long time, up to 30 ms in bot measurements. This is a problem for real-time video use-case as vsync might be missed and added latency from the wire to screen. We should enable shared memory GMBs on windows for at least WebRTC use.
 
dcastagna@ I am looking into differentiating webrtc case. Looks like |gpu_channel_host->gpu_info().supports_overlays| is false by default. Is it ok to ignore that?
https://cs.chromium.org/chromium/src/content/renderer/render_thread_impl.cc?type=cs&sq=package:chromium&l=1592
IIRC supports_overlays is set only on Windows if we support DC layers (https://cs.chromium.org/chromium/src/gpu/ipc/service/gpu_init.cc?rcl=f4718d0b170a32a1a954aa2187a8705a05897ce6&l=60), so, yes, it's ok to ignore that for the purpose of enabling GMBs videoframes.
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 13 2018

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

commit 08a808524398fc77e1cdedb597e605f0a957301a
Author: Emircan Uysaler <emircan@chromium.org>
Date: Fri Apr 13 01:13:21 2018

Enable GpuMemoryBuffer backed video frames on Windows for WebRTC

This CL seperates real time video use case from regular video for
GpuMemoryBufferVideoFramePool usage. Additionally, it enables the usage
on Windows for real time video because the tests showed that GMBVFP is
much faster than CreateForSoftwarePlanes() resulting in a reduced
latency.

Bug:  829524 
Change-Id: Icf387eecb3c7240e3ed52b22bff45a6da1f6ac01
Reviewed-on: https://chromium-review.googlesource.com/1003230
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550456}
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/renderers/default_renderer_factory.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/mock_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/mock_gpu_video_accelerator_factories.h

Status: Fixed (was: Started)
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/08a808524398fc77e1cdedb597e605f0a957301a

commit 08a808524398fc77e1cdedb597e605f0a957301a
Author: Emircan Uysaler <emircan@chromium.org>
Date: Fri Apr 13 01:13:21 2018

Enable GpuMemoryBuffer backed video frames on Windows for WebRTC

This CL seperates real time video use case from regular video for
GpuMemoryBufferVideoFramePool usage. Additionally, it enables the usage
on Windows for real time video because the tests showed that GMBVFP is
much faster than CreateForSoftwarePlanes() resulting in a reduced
latency.

Bug:  829524 
Change-Id: Icf387eecb3c7240e3ed52b22bff45a6da1f6ac01
Reviewed-on: https://chromium-review.googlesource.com/1003230
Commit-Queue: Emircan Uysaler <emircan@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550456}
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/gpu/gpu_video_accelerator_factories_impl.h
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/renderers/default_renderer_factory.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/gpu_video_accelerator_factories.h
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/mock_gpu_video_accelerator_factories.cc
[modify] https://crrev.com/08a808524398fc77e1cdedb597e605f0a957301a/media/video/mock_gpu_video_accelerator_factories.h

[bulk-edit: disregard if N/A] Can the owner please set milestone to this bug if applicable?

Sign in to add a comment