Skip to content
This repository has been archived by the owner on Dec 27, 2022. It is now read-only.

Double render on alternating redraws while scrolling #68

Closed
xpollen8 opened this issue Aug 23, 2016 · 15 comments · Fixed by #133
Closed

Double render on alternating redraws while scrolling #68

xpollen8 opened this issue Aug 23, 2016 · 15 comments · Fixed by #133
Labels

Comments

@xpollen8
Copy link

0.2.0

(Using local data), scrolling down the page exhibits a "double draw" condition, whether via scrollwheel or dragging the elevator. Let me know if you need the html file to reproduce.

scroll_fuzz

@xpollen8
Copy link
Author

Here's a test case

shrink your browsers to force scrollbars

@xpollen8
Copy link
Author

Ah. It isn't just my data. Here is the Dat page linked-to from Beaker's "home page".
OSX 10.10.5

fuzz

@pfrazee
Copy link
Member

pfrazee commented Aug 23, 2016

Does that anomaly only occur during the scrolling, or does it persist on the page when it's not moving?

@xpollen8
Copy link
Author

Yes, it remains visibly doubled until something forces a redraw event.

@pfrazee
Copy link
Member

pfrazee commented Aug 23, 2016

This is probably an Electron/Chrome issue. I'm searching for other reports that match it. electron/electron#6666 may be related.

@pfrazee
Copy link
Member

pfrazee commented Aug 23, 2016

Could you create a dump of chrome://gpu/ for me?

@pfrazee
Copy link
Member

pfrazee commented Aug 23, 2016

electron/electron#3611 may also be related

@xpollen8
Copy link
Author

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
disable_multimonitor_multisampling
disable_overlay_ca_layers
disable_texture_cube_map_seamless
disable_webgl_rgb_multisampling_usage
init_varyings_without_static_use
msaa_is_slow
pack_parameters_workaround_with_pack_buffer
regenerate_struct_names
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
validate_multisample_buffer_allocation
Problems Detected
Multisampling is buggy on OSX when multiple monitors are connected: 237931
Applied Workarounds: disable_multimonitor_multisampling
Multisampled renderbuffer allocation must be validated on some Macs: 290391
Applied Workarounds: validate_multisample_buffer_allocation
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Mac drivers handle varyings without static use incorrectly: 322760
Applied Workarounds: init_varyings_without_static_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Seamless cubemap does not work for Mac Intel: 597794
Applied Workarounds: disable_texture_cube_map_seamless
IOSurface use becomes pathologically slow over time on 10.10.: 580616
Applied Workarounds: disable_overlay_ca_layers
Multisample renderbuffers with format GL_RGB8 have performance issues on Intel GPUs.: 607130
Applied Workarounds: disable_webgl_rgb_multisampling_usage
Accelerated rasterization has been disabled, either via blacklist, about:flags or the command line.
Disabled Features: rasterization
Version Information
Data exported 8/23/2016, 5:15:16 PM
Chrome version Chrome/52.0.2743.82
Operating system Mac OS X 10.10.5
Software rendering list version 11.7
Driver bug list version 8.68
ANGLE commit id unknown hash
2D graphics backend Skia
Command Line Args Browser.app/Contents/MacOS/Beaker Browser --no-sandbox --allow-file-access-from-files --enable-avfoundation --standard-schemes=dat,view-dat
Driver Information
Initialization time 160
In-process GPU false
Sandboxed false
GPU0 VENDOR = 0x8086, DEVICE= 0x162b ACTIVE
Optimus false
AMD switchable false
Driver vendor
Driver version 10.6.33
Driver date
Pixel shader version 1.20
Vertex shader version 1.20
Max. MSAA samples 8
Machine model name MacBookPro
Machine model version 12.1
GL_VENDOR Intel
GL_RENDERER Intel(R) Iris(TM) Graphics 6100
GL_VERSION 2.1 INTEL-10.6.33
GL_EXTENSIONS GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_barrier GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
Disabled Extensions
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering Yes
Reset notification strategy 0x0000
GPU process crash count 0
Compositor Information
Tile Update Mode Zero-copy
Partial Raster Disabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 GPU_READ, SCANOUT
BGRX_8888 GPU_READ, SCANOUT
BGRA_8888 GPU_READ, SCANOUT, GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
YUV_420 Software only
YUV_420_BIPLANAR GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
UYVY_422 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT

@pfrazee pfrazee added the bug label Aug 24, 2016
@pfrazee
Copy link
Member

pfrazee commented Aug 24, 2016

Ok, I'm going to file with Electron to see what they have to say.

@pfrazee
Copy link
Member

pfrazee commented Aug 24, 2016

electron/electron#6950. Thanks for filing, I'll keep you up to date.

@pfrazee
Copy link
Member

pfrazee commented Aug 24, 2016

Ive just begun to experience this, on a site that has a canvas element.
Funny that I never saw it before then.

On Tue, Aug 23, 2016 at 7:16 PM, xpollen8 notifications@github.com wrote:

Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Hardware accelerated
Rasterization: Software only. Hardware acceleration disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
WebGL: Hardware accelerated
Driver Bug Workarounds
disable_multimonitor_multisampling
disable_overlay_ca_layers
disable_texture_cube_map_seamless
disable_webgl_rgb_multisampling_usage
init_varyings_without_static_use
msaa_is_slow
pack_parameters_workaround_with_pack_buffer
regenerate_struct_names
scalarize_vec_and_mat_constructor_args
set_zero_level_before_generating_mipmap
unfold_short_circuit_as_ternary_operation
unpack_alignment_workaround_with_unpack_buffer
use_intermediary_for_copy_texture_image
validate_multisample_buffer_allocation
Problems Detected
Multisampling is buggy on OSX when multiple monitors are connected: 237931
Applied Workarounds: disable_multimonitor_multisampling
Multisampled renderbuffer allocation must be validated on some Macs: 290391
Applied Workarounds: validate_multisample_buffer_allocation
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Mac drivers handle varyings without static use incorrectly: 322760
Applied Workarounds: init_varyings_without_static_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
On Intel GPUs MSAA performance is not acceptable for GPU rasterization:
527565
Applied Workarounds: msaa_is_slow
glGenerateMipmap fails if the zero texture level is not set on some Mac
drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.:
581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Seamless cubemap does not work for Mac Intel: 597794
Applied Workarounds: disable_texture_cube_map_seamless
IOSurface use becomes pathologically slow over time on 10.10.: 580616
Applied Workarounds: disable_overlay_ca_layers
Multisample renderbuffers with format GL_RGB8 have performance issues on
Intel GPUs.: 607130
Applied Workarounds: disable_webgl_rgb_multisampling_usage
Accelerated rasterization has been disabled, either via blacklist,
about:flags or the command line.
Disabled Features: rasterization
Version Information
Data exported 8/23/2016, 5:15:16 PM
Chrome version Chrome/52.0.2743.82
Operating system Mac OS X 10.10.5
Software rendering list version 11.7
Driver bug list version 8.68
ANGLE commit id unknown hash
2D graphics backend Skia
Command Line Args Browser.app/Contents/MacOS/Beaker Browser --no-sandbox
--allow-file-access-from-files --enable-avfoundation
--standard-schemes=dat,view-dat
Driver Information
Initialization time 160
In-process GPU false
Sandboxed false
GPU0 VENDOR = 0x8086, DEVICE= 0x162b ACTIVE
Optimus false
AMD switchable false
Driver vendor

Driver version 10.6.33
Driver date
Pixel shader version 1.20
Vertex shader version 1.20
Max. MSAA samples 8
Machine model name MacBookPro
Machine model version 12.1
GL_VENDOR Intel
GL_RENDERER Intel(R) Iris(TM) Graphics 6100
GL_VERSION 2.1 INTEL-10.6.33
GL_EXTENSIONS GL_ARB_color_buffer_float GL_ARB_depth_buffer_float
GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers
GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced
GL_ARB_fragment_program GL_ARB_fragment_program_shadow
GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB
GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays
GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query
GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite
GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects
GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow
GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression
GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map
GL_ARB_texture_env_add GL_ARB_texture_env_combine
GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float
GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two
GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix
GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object
GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr
GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate
GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract
GL_EXT_clip_volume_hint GL_EXT_debug_label GL_EXT_debug_marker
GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord
GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled
GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4
GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays
GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex
GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color
GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap
GL_EXT_texture_array GL_EXT_texture_compression_dxt1
GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add
GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer
GL_EXT_texture_lod_bias GL_EXT_texture_rectangle
GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB
GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback
GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage
GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels
GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable
GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422
GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range
GL_APPLE_transform_hint GL_APPLE_vertex_array_object
GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size
GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422
GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float
GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_square
GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance
GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_barrier
GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
Disabled Extensions
Window system binding vendor

Window system binding version

Window system binding extensions

Direct rendering Yes
Reset notification strategy 0x0000
GPU process crash count 0
Compositor Information
Tile Update Mode Zero-copy
Partial Raster Disabled
GpuMemoryBuffers Status
ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 GPU_READ, SCANOUT
BGRX_8888 GPU_READ, SCANOUT
BGRA_8888 GPU_READ, SCANOUT, GPU_READ_CPU_READ_WRITE,
GPU_READ_CPU_READ_WRITE_PERSISTENT
YUV_420 Software only
YUV_420_BIPLANAR GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_
PERSISTENT
UYVY_422 GPU_READ_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE_PERSISTENT


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
#68 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABNhU3GeKucC1xOSESl82WNEqp73Qdikks5qi41FgaJpZM4JrdJi
.

@pfrazee
Copy link
Member

pfrazee commented Aug 24, 2016

The Electron team punted this to Chromium. I'll see if there are some GPU modes that can be toggled, to fix this situation.

@xpollen8
Copy link
Author

For what it's worth, the Brave browser doesn't exhibit the bug. Maybe there's an explicit fix they made..?

@pfrazee
Copy link
Member

pfrazee commented Aug 24, 2016

That's a good tip

@pfrazee
Copy link
Member

pfrazee commented Oct 5, 2016

Was able to reproduce this on another user's computer, and discovered that this only occurs on websites that don't set a background color explicitly (expecting the default white). That suggests that chromium the webview is not clearing the background buffer; the ghosting is the result of previous renders.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants