New issue
Advanced search Search tips

Issue 674491 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Very low YouTube video frame rate after Chrome upgrade (43 -> 54) on Samsung Galaxy Core Prime

Reported by sak...@yousician.com, Dec 15 2016

Issue description

Example URL:
https://m.youtube.com/watch?v=tchB-Wk6GR8

Steps to reproduce the problem:
1. Open any video on m.youtube.com
2. Observe the frame rate

What is the expected behavior?
Frame rate is smooth

What went wrong?
Frame rate is very low, a systrace shows about 7 FPS.

Did this work before? Yes 

Is it a problem with Flash or HTML5? HTML5

Does this work in other browsers? Yes

Chrome version: 55.0.2883.91  Channel: stable
OS Version: 5.1.1
Flash Version: 

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
VPx Video Decode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_framebuffer_cmaa
max_texture_size_limit_4096
scalarize_vec_and_mat_constructor_args
Problems Detected
GPU rasterization image color broken on Vivante: 560587
Disabled Features: gpu_rasterization, accelerated_2d_canvas
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Raster is using a single thread.
Disabled Features: multiple_raster_threads
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Version Information
Data exported	12/15/2016, 1:52:58 PM
Chrome version	Chrome/55.0.2883.91
Operating system	Android 5.1.1
Software rendering list version	11.17
Driver bug list version	9.15
ANGLE commit id	4d208abb1926
2D graphics backend	Skia/55 d1740f81c843c65acd58d1b571ce94b90fee99d0
Command Line Args	--use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-pinch --enable-viewport --enable-overlay-scrollbar --validate-input-event-stream --disable-gpu-process-crash-limit --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --ui-prioritize-in-gpu-process --profiler-timing=0 --prerender-from-omnibox=enabled --enable-dom-distiller --flag-switches-begin --flag-switches-end --enable-instant-extended-api
Driver Information
Initialization time	118
In-process GPU	false
Sandboxed	false
GPU0	VENDOR = 0x0000 [Vivante Corporation], DEVICE= 0x0000 [Vivante GC7000UL]
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	0
Driver date	
Pixel shader version	3.00
Vertex shader version	3.00
Max. MSAA samples	4
Machine model name	SM-G361F
Machine model version	
GL_VENDOR	Vivante Corporation
GL_RENDERER	Vivante GC7000UL
GL_VERSION	OpenGL ES 3.0
GL_EXTENSIONS	GL_EXT_debug_marker GL_OES_vertex_type_10_10_10_2 GL_OES_vertex_half_float GL_OES_element_index_uint GL_OES_mapbuffer GL_OES_vertex_array_object GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_texture_npot GL_OES_rgb8_rgba8 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_depth32 GL_OES_packed_depth_stencil GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_fragment_precision_high GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_required_internalformat GL_OES_surfaceless_context GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_filter_anisotropic GL_EXT_texture_compression_dxt1 GL_EXT_texture_format_BGRA8888 GL_EXT_texture_compression_s3tc GL_EXT_read_format_bgra GL_EXT_multi_draw_arrays GL_EXT_frag_depth GL_EXT_discard_framebuffer GL_EXT_blend_minmax GL_EXT_robustness GL_EXT_unpack_subimage GL_MRVL_linear_texture
Disabled Extensions	
Window system binding vendor	
Window system binding version	
Window system binding extensions	
Direct rendering	Yes
Reset notification strategy	0x8252
GPU process crash count	0
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
ATC	Software only
ATCIA	Software only
DXT1	Software only
DXT5	Software only
ETC1	Software only
R_8	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRA_8888	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Log Messages
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabb47138.CmdBufferImageTransportFactory-0xab92b1d8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabb47138.CmdBufferImageTransportFactory-0xab92b1d8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabb47138.CmdBufferImageTransportFactory-0xab92b1d8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabb47138.CmdBufferImageTransportFactory-0xab92b1d8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xaba37e08.CmdBufferImageTransportFactory-0xaba78ab8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xaba37e08.CmdBufferImageTransportFactory-0xaba78ab8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xaba37e08.CmdBufferImageTransportFactory-0xaba78ab8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xaba37e08.CmdBufferImageTransportFactory-0xaba78ab8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9e9278.CmdBufferImageTransportFactory-0xabe1f560]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9e9278.CmdBufferImageTransportFactory-0xabe1f560]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9e9278.CmdBufferImageTransportFactory-0xabe1f560]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9e9278.CmdBufferImageTransportFactory-0xabe1f560]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc0f090.CmdBufferImageTransportFactory-0xabfbeef8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc0f090.CmdBufferImageTransportFactory-0xabfbeef8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc0f090.CmdBufferImageTransportFactory-0xabfbeef8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc0f090.CmdBufferImageTransportFactory-0xabfbeef8]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabae29a0.CmdBufferImageTransportFactory-0xabadae70]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabae29a0.CmdBufferImageTransportFactory-0xabadae70]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabae29a0.CmdBufferImageTransportFactory-0xabadae70]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabae29a0.CmdBufferImageTransportFactory-0xabadae70]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9f2410.CmdBufferImageTransportFactory-0xac177af0]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9f2410.CmdBufferImageTransportFactory-0xac177af0]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9f2410.CmdBufferImageTransportFactory-0xac177af0]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xab9f2410.CmdBufferImageTransportFactory-0xac177af0]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc6b178.CmdBufferImageTransportFactory-0xabc8d578]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc6b178.CmdBufferImageTransportFactory-0xabc8d578]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc6b178.CmdBufferImageTransportFactory-0xabc8d578]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
[ERROR:gles2_cmd_decoder.cc(4213)] : [.Offscreen-MainThread-0xabc6b178.CmdBufferImageTransportFactory-0xabc8d578]GL ERROR :GL_INVALID_OPERATION : glGetIntegerv: framebuffer incomplete (check)
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(9063)] : [.DisplayCompositor-0xab873fb0]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering.
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name
[ERROR:gles2_cmd_decoder.cc(16349)] : [.DisplayCompositor-0xab873fb0]GL ERROR :GL_INVALID_OPERATION : glCreateAndConsumeTextureCHROMIUM: invalid mailbox name

Native YouTube app has significantly better frame rate on same videos. See attached systraces.

Works fine with 43.0.2357.93, but not in 55.0.2883.91 or 54.0.2840.68
Android version is 5.1.1, build number LMY48B.G361FXXU1APB1

Tried a factory reset (caused Chrome downgrade), which solved the problem until chrome was upgraded.

Could not reproduce this on any other test hardware we had, only on a Samsung Galaxy Core Prime.
 
YouTubeSystraces.zip
2.0 MB Download
Cc: krav...@chromium.org
Labels: triage-te
Hmm, can you go into chrome://flags and disable hardware accelerated decode? There may be issues with the built in hardware vp9 decoder.
If you are referring to "Hardware-accelerated video decode" it doesn't seem to be available on Android...

I tried disabling "WebRTC hardware video decoding", but it didn't seem any better after that...
Cc: sande...@chromium.org
Hah, so it is. +sandersd, we should allow that to be disabled.
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 21 2016

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

commit 49e9c1bb2d80e313eecd890d91c5db53901e0e22
Author: sandersd <sandersd@chromium.org>
Date: Wed Dec 21 22:04:25 2016

Expose UI for --disable-accelerated-video-decode on Andorid.

BUG= 674491 

Review-Url: https://codereview.chromium.org/2592813005
Cr-Commit-Position: refs/heads/master@{#440233}

[modify] https://crrev.com/49e9c1bb2d80e313eecd890d91c5db53901e0e22/chrome/browser/about_flags.cc

Labels: Needs-Feedback
sakari@yousician.com, do you still see this bug in latest Chrome build?
Status: WontFix (was: Unconfirmed)
no response from bug opener. close it.
Sorry for taking long to respond. Here are the latest results from my tests:
With hardware decoding on, the performance is still as bad as it was before (Tried Chrome Beta and Dev from Play Store). Tried turning it off from flags: performance was objectively a bit better, at least no worse.

I can do some traces later if that is useful, but right now I'm super busy.

Issue is still there, so please don't close :)

Sign in to add a comment