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

Issue 749344 link

Starred by 3 users

Issue metadata

Status: Duplicate
Merged: issue 754213
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Sudden Audio/Video problem when playing Granblue Fantasy

Reported by nihaome...@gmail.com, Jul 27 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36

Example URL:
http://game.granbluefantasy.jp

Steps to reproduce the problem:
1. Playing Granblue
2. Enabling Sound
3. Playing and having other activity on desktop

What is the expected behavior?

What went wrong?
I turned on sound in gbf and suddenly get popping noises and stutters in it.
And it worked before, it's a constant thing now.
It was completely fine a couple of weeks ago, I just played without audio for a time.
I asked around but it seems no one else seems to have the issue.
The performance issue seems to spike when loading other content or even having other desktop activity.
Chrome Hardware acceleration is enabled since I can only play it this way. This problem does not occur with any other content in chrome (videos) or games on my pc via Steam ect.
While playing the framerate seems to drop from 60 but never below 30. However during animation during the tutorial I noticed visual stuttering as well usually accompanied by the audio problems. In game like in battles, I do not notice any visual problems.

I attached a sound recording of the audio issue, it's the most noticeable during the end.
Again this used to work just fine a few weeks ago.

Did this work before? Yes 

Is it a problem with Flash or HTML5? N/A

Does this work in other browsers? N/A

Chrome version: 60.0.3112.78  Channel: stable
OS Version: 6.1 (Windows 7, Windows Server 2008 R2)
Flash Version: 

Contents of chrome://gpu: 
Graphics Feature Status
Canvas: Hardware accelerated
CheckerImaging: Disabled
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
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_accelerated_vpx_decode
disable_direct_composition
disable_discard_framebuffer
disable_dxgi_zero_copy_video
disable_framebuffer_cmaa
exit_on_context_lost
force_cube_complete
scalarize_vec_and_mat_constructor_args
texsubimage_faster_than_teximage
Problems Detected
GPU rasterization should only be enabled on NVIDIA and Intel DX11+, and AMD RX-R2 GPUs for now.: 643850
Disabled Features: gpu_rasterization
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
TexSubImage is faster for full uploads on ANGLE
Applied Workarounds: texsubimage_faster_than_teximage
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
ANGLE crash on glReadPixels from incomplete cube map texture: 518889
Applied Workarounds: force_cube_complete
Framebuffer discarding can hurt performance on non-tilers: 570897
Applied Workarounds: disable_discard_framebuffer
Direct composition flashes black initially on Win <10: 588588
Applied Workarounds: disable_direct_composition
Zero copy DXGI video hangs on shutdown on Win < 8.1: 621190
Applied Workarounds: disable_dxgi_zero_copy_video
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
Zero-copy NV12 video displays incorrect colors on NVIDIA drivers.: 635319
Applied Workarounds: disable_dxgi_zero_copy_video
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
VPx decoding isn't supported before Windows 10 anniversary update.: 616318
Applied Workarounds: disable_accelerated_vpx_decode
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
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported	7/27/2017, 2:18:27 AM
Chrome version	Chrome/60.0.3112.78
Operating system	Windows NT 6.1.7601 SP1
Software rendering list version	13.8
Driver bug list version	10.93
ANGLE commit id	3e6a61fecba9
2D graphics backend	Skia/60 a20ae70af542208b06c21413f13c4c86269c0b84-
Command Line	"C:\Program Files\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end
Driver Information
Initialization time	357
In-process GPU	false
Passthrough Command Decoder	false
Supports overlays	false
Sandboxed	false
GPU0	VENDOR = 0x10de, DEVICE= 0x086f
Optimus	false
Optimus	false
AMD switchable	false
Desktop compositing	Aero Glass
Diagonal Monitor Size of \\.\DISPLAY1	17.0"
Driver vendor	NVIDIA
Driver version	21.21.13.4201
Driver date	11-14-2016
Pixel shader version	4.0
Vertex shader version	4.0
Max. MSAA samples	8
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (NVIDIA GeForce 8200M G Direct3D11 vs_4_0 ps_4_0)
GL_VERSION	OpenGL ES 2.0 (ANGLE 2.1.0.3e6a61fecba9)
GL_EXTENSIONS	GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_pack_reverse_row_order GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_robust_resource_initialization GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_usage GL_ANGLE_translated_shader_source GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_compressed_texture GL_CHROMIUM_copy_texture GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_frag_depth GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_shader_texture_lod GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_NV_EGL_stream_consumer_external GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth32 GL_OES_element_index_uint GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Window system binding vendor	Google Inc. (adapter LUID: 000000000000a817)
Window system binding version	1.4 (ANGLE 2.1.0.3e6a61fecba9)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_ANGLE_d3d_share_handle_client_buffer EGL_ANGLE_d3d_texture_client_buffer EGL_ANGLE_surface_d3d_texture_2d_share_handle EGL_ANGLE_query_surface_pointer EGL_ANGLE_window_fixed_size EGL_ANGLE_keyed_mutex EGL_ANGLE_surface_orientation EGL_NV_post_sub_buffer EGL_KHR_create_context EGL_EXT_device_query EGL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_get_all_proc_addresses EGL_KHR_stream EGL_KHR_stream_consumer_gltexture EGL_NV_stream_consumer_gltexture_yuv EGL_ANGLE_flexible_surface_compatibility EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_EXT_pixel_format_float EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_create_context_robust_resource_initialization
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
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
UYVY_422	Software only
Diagnostics
0
b3DAccelerationEnabled	true
b3DAccelerationExists	true
bAGPEnabled	true
bAGPExistenceValid	true
bAGPExists	true
bCanRenderWindow	true
bDDAccelerationEnabled	true
bDriverBeta	false
bDriverDebug	false
bDriverSigned	false
bDriverSignedValid	false
bNoHardware	false
dwBpp	32
dwDDIVersion	10
dwHeight	900
dwRefreshRate	60
dwWHQLLevel	0
dwWidth	1440
iAdapter	0
lDriverSize	14497712
lMiniVddSize	0
szAGPStatusEnglish	Enabled
szAGPStatusLocalized	Aktiviert
szChipType	GeForce 8200M G
szD3DStatusEnglish	Enabled
szD3DStatusLocalized	Aktiviert
szDACType	Integrated RAMDAC
szDDIVersionEnglish	10
szDDIVersionLocalized	10
szDDStatusEnglish	Enabled
szDDStatusLocalized	Aktiviert
szDXVAHDEnglish	Supported
szDXVAModes	ModeMPEG2_A ModeMPEG2_C ModeVC1_C ModeWMV9_C
szDescription	NVIDIA GeForce 8200M G
szDeviceId	0x086F
szDeviceIdentifier	{D7B71E3E-4B2F-11CF-BB67-FD510BC2D835}
szDeviceName	\\.\DISPLAY1
szDisplayMemoryEnglish	1393 MB
szDisplayMemoryLocalized	1393 MB
szDisplayModeEnglish	1440 x 900 (32 bit) (60Hz)
szDisplayModeLocalized	1440 x 900 (32 bit) (60Hz)
szDriverAssemblyVersion	21.21.13.4201
szDriverAttributes	Final Retail
szDriverDateEnglish	11/14/2016 14:35:19
szDriverDateLocalized	14.11.2016 14:35:19
szDriverLanguageEnglish	English
szDriverLanguageLocalized	Englisch
szDriverModelEnglish	WDDM 1.1
szDriverModelLocalized	WDDM 1.1
szDriverName	nvd3dum.dll,nvwgf2um.dll,nvwgf2um.dll
szDriverNodeStrongName	oem54.inf:NVIDIA_SetA_Devices.NTx86.6.1:Section022:21.21.13.4201:pci\ven_10de&dev_086f&subsys_71f01462
szDriverSignDate	
szDriverVersion	21.21.0013.4201
szKeyDeviceID	Enum\PCI\VEN_10DE&DEV_086F&SUBSYS_71F01462&REV_B1
szKeyDeviceKey	\Registry\Machine\System\CurrentControlSet\Control\Video\{940CFC92-6723-414B-B467-F4C357946174}\0000
szManufacturer	NVIDIA
szMiniVdd	Nicht zutreffend
szMiniVddDateEnglish	n/a
szMiniVddDateLocalized	Nicht zutreffend
szMonitorMaxRes	
szMonitorName	PnP-Monitor (Standard)
szNotesEnglish	No problems found.
szNotesLocalized	Es wurden keine Probleme gefunden.
szOverlayEnglish	Supported
szRankOfInstalledDriver	00E00001
szRegHelpText	
szRevision	
szRevisionId	0x00B1
szSubSysId	0x71F01462
szTestResultD3D7English	Not run
szTestResultD3D7Localized	Nicht ausgeführt
szTestResultD3D8English	Not run
szTestResultD3D8Localized	Nicht ausgeführt
szTestResultD3D9English	Not run
szTestResultD3D9Localized	Nicht ausgeführt
szTestResultDDEnglish	Not run
szTestResultDDLocalized	Nicht ausgeführt
szVdd	Nicht zutreffend
szVendorId	0x10DE
Log Messages
GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.
 
gbf.mp3
1.2 MB Download
Labels: Needs-Triage-M60 Needs-Bisect
Cc: krajshree@chromium.org
Labels: Needs-Feedback
Unable to reproduce the issue on Win-7 and Win-10 using chrome reported version #60.0.3112.78 and latest canary #62.0.3167.0.

Following are the steps followed to reproduce the issue.
-----------
1. Navigated to URL: http://game.granbluefantasy.jp and played Granblue.
2. Enabled Sound.
3. Played and simultaneously performed other activities on desktop like typing in notepad, editing excel e.t.c
4. Did not observe any popping noises and stutters in it as found in attached gbf.mp3.

nihaomeeow@ - Could you please check the issue on latest canary #62.0.3167.0 by creating a new profile without any apps and extensions and please let us know if the issue still persist or not.

Thanks...!!
Components: -Internals>Media Blink>WebAudio
The problem persists in canary #62.0.3167.0.
To verify it's a chrome problem I tested chrome 57.0.2987.133 and 59.0.3071.86. No issues with these. So it must be something with chrome 60+
Project Member

Comment 5 by sheriffbot@chromium.org, Jul 28 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "krajshree@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: kkaluri@chromium.org
Labels: Needs-Feedback
Tested this issue on Windows 10 with chrome #62.0.3171.0

Steps followed : 
1. Navigated to Test URL: http://game.granbluefantasy.jp/#tutorial/5 
2. Able to hear the Sound.

Observation:
-------------
Unable to hear the audio from test url when other application window is active

Attaching the screen-cast for reference.

nihaomeeow@ Could you please look into it and let us know your observations.

Comment 7 by k...@luminance.org, Aug 7 2017

This was broken by Chrome 60. I reproduce this in 60.0.3112.90 (Official Build) (64-bit) (cohort: 60_90_win), it worked in 59. 60 also broke other things related to Granblue fantasy, see  issue #752791 . Users on reddit are also reporting visual lag: https://www.reddit.com/r/Granblue_en/comments/6rxqvk/suddently_lag_since_last_game_update/#dl8krsa

The most noticeable place for lag and sound issues is in combat. The sound issues appear to correlate with time periods where the game is rendering more complex graphics & playing more sounds at once - i.e. complex spell effects or boss special moves. This probably produces visible lag on computers slower than mine.

I'm playing with hardware acceleration disabled (because of other Chrome bugs that affect this game) so it's not video driver/video card related.

I've attached a video recording of the game where you can hear multiple audio glitches as described above. The background music & character voices produce popping, stuttering and slowdown.
lag-and-audio-issues.mp4
9.0 MB View Download

Comment 8 by k...@luminance.org, Aug 7 2017

Here is a chrome://tracing recording that captures at least one instance of audio glitches, on one of the game's landing pages (no combat happening).

The glitching is (I'm pretty sure) in a suspicious time period of the trace where all the audio threads suddenly stop running as often: wasapi_render_thread, WebAudio Rendering Thread, AudioOutputDevice.

From looking at the trace, the audio glitching begins almost immediately after a 22ms-long GC inside CrRendererMain.
trace_audio-glitch.json.gz
1.8 MB Download

Comment 9 by k...@luminance.org, Aug 7 2017

Here's a devtools profile. The audio glitch starts around where the GC occurs and ends shortly before the end of the profile.
Profile-20170806T233855.zip
1.6 MB Download
Cc: olka@chromium.org
> wasapi_render_thread, WebAudio Rendering Thread, AudioOutputDevice

Well, this does not sound like WebAudio's problem. WebAudio Rendering Thread is driven by AudioOutputDevice. So if it does not schedule the next render task, WebAudio Rendering Thread will not render anything. I looked at the tracing data
and the actual stuttering is starting from AudioDeviceThread.

Also it does not makes sense to me that the main thread GC can cause the audio thread to stop. olka@ might know why this can happen.

Comment 11 by olka@chromium.org, Aug 8 2017

Cc: dalecur...@chromium.org
Owner: hongchan@chromium.org
kg@ Could you suggest what "GC" stands for? Also could you please refer to time stamps on the graph and pids, to make communication more efficient? 
Could you record a glitch-free trace for comparison?

From callback oddity perspective, I see that in the first 400 ms and between 7500-8800 ms WASAPIAudioOutputStream periodically decides to not call upper layers to render audio. It happens here [https://cs.chromium.org/chromium/src/media/audio/win/audio_low_latency_output_win.cc?type=cs&q=RenderAudioFromSource&l=476] and means platform audio buffer does not have enough space (= still has some audio to play). The code has been like this for years, so I'm not sure it's a source of the reported glitches, since it works in M59. (Adding Dale to comment)

So to me it looks like recent WebAudio changes are still the most probable root cause of the issue.

Could we add traces for WebAudio and make another recording of glitches?
I'd check the buffer size it's using; it's possible it's not a multiple of 10ms so we end up accumulating and thus skipping a read every now and then.
The main thread GC is just a coincidence, most likely. I merely wanted to call it out because I saw it in all the traces.

If it helps, the audio files this game plays are all 32khz audio encoded as mp3 (typically around 48kbps, it looks like). So it could be related to resampling?

It's very hard to get a trace without any glitches because any content playing sound tends to glitch periodically. 

Here's a sound that's looped in the background of a scene recently added to the game:
http://game-a5.granbluefantasy.jp/assets_en/sound/se/crowd_bgm_1.mp3
It loops fine without sounding glitchy in Firefox. If I just let the game sit and loop it in Chrome, it glitches periodically, though not as bad as some other recordings. When the scene begins playing character dialogues those glitch a couple times a minute with popping, slowdown, etc.

The glitches have obvious gaps when examined as a recording in Audacity or another editor. Recording & screenshot attached. This is just that BGM looping at a static dialogue scene, nothing is happening.

The samples within the glitches/gaps are not all zeroes, which is rather suspicious to me.
gaps.png
8.7 KB View Download
nonzero.png
27.9 KB View Download
glitch.wav
1.3 MB Download
I instrumented their game code and all the sound effects & music appear to be implemented using createBufferSource and decodeAudioData. The decode is producing 48khz buffers, so resampling wouldn't be involved (since the audio doesn't glitch on every loop).
If I open this isolated test case in a tab while granblue fantasy is running in another tab (idled on the home screen), and click Play, the audio glitches periodically while looping.
test.html
64.4 KB View Download

Comment 16 by olka@chromium.org, Aug 9 2017

re #12:
It outputs at 480 byte frames, so per #14 it's 10 ms buffers. Also if it's due to rebuffering I would expect a stable pattern of skipped reads, but here they are in bursts.

kg@ could you please make one more trace with glitches (both audio and webaudio categories) and give some estimations around which time of the trace glitches occur?



hongchang@
re #13:

Thanks for following up on this with more observation.

> The samples within the glitches/gaps are not all zeroes, which is rather suspicious to me.

1. This is not the pure recording of WebAudio's output. Some numerical error can be added in some where in the chain. What kind of audio routing are you doing?

2. What worries me here is the frame size of glitches. They do not look like regular buffer sizes. (340~380 frames) If the WebAudio's new FIFO is the culprit, the glitch size must be multiple of 128.

Because this is a game with heavy user interaction, I think it might be related to this as well:
https://bugs.chromium.org/p/chromium/issues/detail?id=745898#c6

Comment 18 by rtoy@chromium.org, Aug 9 2017

Also, examine stderr.  If the fifo is the culprit, there should be messages from the fifo about underruns.

Comment 19 by k...@luminance.org, Aug 11 2017

[10348:1308:0810/173144.667:VERBOSE1:dhcp_proxy_script_adapter_fetcher_win.cc(262)] Error fetching PAC URL from DHCP: 2
[3092:10608:0810/173144.691:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=4, availableFrames=96, requestedFrames=480, fifoLength=8192)
[10348:4308:0810/173144.722:VERBOSE1:dhcp_proxy_script_adapter_fetcher_win.cc(262)] Error fetching PAC URL from DHCP: 2
[3092:10608:0810/173144.851:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=5, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173144.931:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=6, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.090:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=7, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.171:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=8, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.250:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=9, availableFrames=352, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.570:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=10, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.651:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=11, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.730:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=12, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.810:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=13, availableFrames=96, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173145.970:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=14, availableFrames=352, requestedFrames=480, fifoLength=8192)
[3092:10608:0810/173146.051:WARNING:pushpullfifo.cpp(154)] PushPullFIFO: underflow while pulling (underflowCount=15, availableFrames=96, requestedFrames=480, fifoLength=8192)

Comment 20 by rtoy@chromium.org, Aug 11 2017

Thanks.  So something is causing the audio thread to run out of time and underflow.
kg@

Thanks for the info. Can you tell me about the system that you're running the game? Hoe many CPU cores does it have? We have similar regression report from the system with the fewer CPU cores. (thus the audio rendering thread gets descheduled.)
kg@

Unfortunately none of my machines did not generate any glitch from the game. (linux, windows, osx)

Comment 23 by k...@luminance.org, Aug 15 2017

re #21:
Windows 10 pro creators' update x64
Core i7-6700K 4ghz (4 cores + HT), 64gb RAM
re #23:

Thanks! If you're willing to try a tentative fix for the thread priority issue, you can try this patch: https://chromium-review.googlesource.com/c/614284

Comment 25 Deleted

re #6:

Audio not playing while another window being active has always been a thing even prior to chrome v60. The game basically pauses playback for audio and animations somehow when it's not the active focus. There is an unofficial chrome extension which allows the audio to play when not in an active video so it's fixable, I'm not sure if it's intended or a bug however. I assume it's not related to this issue.
Project Member

Comment 27 by sheriffbot@chromium.org, Aug 16 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "kkaluri@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 28 by k...@luminance.org, Aug 16 2017

re #24: Is there a way I can identify the audio thread(s) and manually boost them? Building Chrome from source would take me a while to set up, I don't have buildtools/etc on any of my machines right now.

re #6 and #26: Yeah the game intentionally mutes audio in the background. I use an extension to suppress that. Regardless, I hear glitches even while it's active, so that shouldn't prevent reproducing this (maybe it makes it harder?) My machine isn't under heavy load so I'm not sure why I see these glitches so reliably on a high-spec machine. The test case I provided earlier reproduces them too.
re #28: I've got some reports from other users that raising the priority greatly improves the glitch problem. However, I don't know how to manually raise the thread priority (not a process) on any platform.
Labels: -Needs-Bisect Needs-Feedback
Unable to reproduce the issue on Win-7 and Win-10 using chrome reported version #60.0.3112.78, latest stable #60.0.3112.101 and latest canary #62.0.3188.0.

Following are the steps followed to reproduce the issue.
-----------
1. Navigated to URL: http://game.granbluefantasy.jp and played Granblue.
2. Enabled Sound.
3. Played and simultaneously performed other activities on desktop like typing in notepad, editing excel e.t.c. Also opened another tab and opened other sites.
4. Did not observe any popping noises and stutters in it as found in attached gbf.mp3(comment #0), but the audio paused after switching to other tab or when performing any activity on desktop.

nihaomeeow@ - Could you please check the issue on latest stable #60.0.3112.101 by creating a new profile without any apps and extensions and please let us know if the issue still persist or not.
Removing Needs-Bisect label as of now as it is not reproducible. Please feel free to add the same if required.

Thanks...!!
Project Member

Comment 31 by bugdroid1@chromium.org, Aug 21 2017

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

commit f546d6dddbba639b593689b6e72d6c61fc1eb342
Author: Hongchan Choi <hongchan@chromium.org>
Date: Mon Aug 21 17:32:30 2017

Raise the thread priority for WebAudio renderer

Since the introduction of stand-alone blink::WebThread for WebAudio 
rendering, several regression were reported. We speculate the root
cause of this is the lower thread priority of blink::WebThread
(normal priority) compared to the AudioDeviceThread
(realtime priority).

The analysis indicated that this regression gets worse when the
device has fewer CPU cores, resulting two threads (browser and main)
occupy the entire CPU load and making the WebThread descheduled from
the task scheduler.

This CL raises the thread priority for WebAudio renderer up to the
level of the browser main thread. (ThreadPriority::DISPLAY)

Blink Architecture discussion: https://groups.google.com/a/chromium.org/forum/?utm_medium=email&utm_source=footer#!msg/platform-architecture-dev/EnlQMTRwyrw/AeysuDuUAAAJ

Bug: 734539,  749344 
Change-Id: I5717e956228a1c4046e82e6f598d602ca5c82f35
Reviewed-on: https://chromium-review.googlesource.com/614284
Commit-Queue: Hongchan Choi <hongchan@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Chris Palmer <palmer@chromium.org>
Reviewed-by: Raymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#495974}
[modify] https://crrev.com/f546d6dddbba639b593689b6e72d6c61fc1eb342/content/child/blink_platform_impl.cc
[modify] https://crrev.com/f546d6dddbba639b593689b6e72d6c61fc1eb342/content/child/blink_platform_impl.h
[modify] https://crrev.com/f546d6dddbba639b593689b6e72d6c61fc1eb342/third_party/WebKit/Source/platform/audio/AudioDestination.cpp
[modify] https://crrev.com/f546d6dddbba639b593689b6e72d6c61fc1eb342/third_party/WebKit/Source/platform/exported/Platform.cpp
[modify] https://crrev.com/f546d6dddbba639b593689b6e72d6c61fc1eb342/third_party/WebKit/public/platform/Platform.h

kg@

Could you try the app again with the latest Canary? (62.0.3196.0) The fix (reverting to the previous threading model) has landed there.
Status: Fixed (was: Unconfirmed)
Problem still existed in  #60.0.3112.101 but latest Canary seems to have it fixed mostly for me as well. Good work.
Mergedinto: 754213
Status: Duplicate (was: Fixed)
Labels: -Needs-Feedback -Needs-Triage-M60
Hi, this is still broken in 61.0.3163.79. Is the fix planned to be uplifted to release channel, or do I have to wait another 6+ weeks to be able to listen to sound in Chrome?
The fix (the workaround, actually) will be available in M62. It was incompatible with M61 branch, so we couldn't take the risk of breaking other parts. It's really unfortunate, but Canary has the fix and it is confirmed by other reporters as well.

Sign in to add a comment