在我的 Ubuntu 16.10 上,Chrome 的最新两个版本在外接显示器上播放视频时会比较慢,只有当该 chrome 窗口/选项卡未获得焦点时才会出现这种情况(即,如果我单击笔记本电脑显示器上的另一个窗口,视频才能在外接显示器上全屏播放)。
当视频出现抖动时,我注意到 Xorg 进程占用了 100% 的 CPU。当我单击另一台显示器上的另一个窗口时,视频播放正常,XOrg CPU 占用率立即下降。
这不是世界末日,但在尝试观看电影时总是必须将鼠标移出屏幕并单击笔记本电脑显示器上的随机窗口,这很烦人!
$ sudo lshw -class display
*-display
description: VGA compatible controller
product: 3rd Gen Core processor Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 09
width: 64 bits
clock: 33MHz
capabilities: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:28 memory:c1000000-c13fffff memory:b0000000-bfffffff ioport:4000(size=64) memory:c0000-dffff
关于 Ubuntu 报告Intel® Ivybridge Mobile
我运行了英特尔图形工具更新,并确保我运行的是最新的 Chrome v60.0.3112.90(官方版本)(64 位)
我已在这里尝试过答案:Chrome 在全屏模式下运行缓慢(与 Flash 无关)无济于事。
Chrome chrome://gpu/ 输出:
Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
CheckerImaging: Disabled
Flash: Software only, hardware acceleration unavailable
Flash Stage3D: Software only, hardware acceleration unavailable
Flash Stage3D Baseline profile: Software only, hardware acceleration unavailable
Compositing: Software only, hardware acceleration unavailable
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Software only, hardware acceleration unavailable
Video Decode: Software only, hardware acceleration unavailable
Video Encode: Software only, hardware acceleration unavailable
WebGL: Hardware accelerated but at reduced performance
WebGL2: Unavailable
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_framebuffer_cmaa
dont_remove_invariant_for_fragment_input
force_cube_map_positive_x_allocation
force_int_or_srgb_cube_texture_complete
init_texture_max_anisotropy
regenerate_struct_names
remove_invariant_and_centroid_for_essl3
scalarize_vec_and_mat_constructor_args
disable_software_to_accelerated_canvas_upgrade
Problems Detected
ATI/AMD cards with older drivers in Linux are crash-prone: 71381, 76428, 73910, 101225, 136240, 357314
Disabled Features: flash_stage3d, gpu_compositing, panel_fitting, flash3d, gpu_rasterization, accelerated_2d_canvas, accelerated_video_decode, webgl2, accelerated_webgl, flash_stage3d_baseline, accelerated_video_encode
Accelerated video decode is unavailable on Linux: 137247
Disabled Features: accelerated_video_decode
Accelerated video encode is unavailable on Linux
Disabled Features: accelerated_video_encode
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Linux AMD drivers incorrectly return initial value of 1 for TEXTURE_MAX_ANISOTROPY: 348237
Applied Workarounds: init_texture_max_anisotropy
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Linux AMD drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
Linux ATI drivers crash on binding incomplete cube map texture to FBO: 518889
Applied Workarounds: force_cube_map_positive_x_allocation
Limited enabling of Chromium GL_INTEL_framebuffer_CMAA: 535198
Applied Workarounds: disable_framebuffer_cmaa
adjust src/dst region if blitting pixels outside read framebuffer on Linux AMD: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
AMD drivers in Linux require invariant qualifier to match between vertex and fragment shaders: 659326, 639760
Applied Workarounds: remove_invariant_and_centroid_for_essl3, dont_remove_invariant_for_fragment_input
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Decode and Encode before generateMipmap for srgb format textures on Linux AMD: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Software to Accelerated canvas update breaks Linux AMD: 710029
Applied Workarounds: disable_software_to_accelerated_canvas_upgrade
Force integer or srgb cube map texture complete on Linux AMD: 712117
Applied Workarounds: force_int_or_srgb_cube_texture_complete
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
任何建议都非常感谢。
答案1
这是因为 Chrome v59+ 从 Chrome 中删除了 Flash。
经过多次反复尝试,我发现最简单的方法是安装 Google Chrome Beta 来使用 Flash,而使用 Chrome 稳定版来处理其他所有事情。
我下载并安装了这个.deb 文件:http://sagasl.uccuyosl.edu.ar/mirror/dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-beta/google-chrome-beta_58.0.3029.81-1_amd64.deb
然后通过启动
google-chrome-beta
然后转到chrome://flags/
并禁用
Prefer HTML over Flash Mac, Windows, Linux, Chrome OS
Prefer HTML content by hiding Flash from the list of plug-ins.
# prefer-html-over-flash
然后重新启动。
现在,视频应该可以全速全屏播放,不会因使用优质(!)旧闪存而出现抖动。