Font rendering problems (Clear Type)

Description of the issue: Clear Type from Windows OS is not getting correctly applied to the text of some websites

How can this issue be reproduced?

  1. Find a specific website that produces this bug
  2. Deactivate True Type, restart Brave and check out the website
  3. Reactivate True Type, restart Brave and check out the website again
  4. See screenshot:

Expected result: The Clear Type improvements from Windows should be applied to all text without exception

Brave Version: Version 1.29.81 Chromium: 93.0.4577.82 (Offizieller Build) (64-Bit)

Additional Information: I’ve tried to disable hardware acceleration as well as both the “Accelerated 2D canvas” and “COLR v1 Fonts” flags. Didn’t make a difference

about://gpu informations

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Hardware accelerated
OpenGL: Enabled
Rasterization: Hardware accelerated
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
disable_accelerated_vp8_decode
disable_accelerated_vp9_decode
disable_delayed_copy_nv12
disable_direct_composition
disable_dxgi_zero_copy_video
enable_webgl_timer_query_extensions
exit_on_context_lost
force_direct_composition_full_damage_always
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
Problems Detected
Some drivers are unable to reset the D3D device in the GPU process sandbox
Applied Workarounds: exit_on_context_lost
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
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
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Decode and Encode before generateMipmap for srgb format textures on Windows: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
VPx decoding isn’t supported well before Windows 10 creators update.: 616318, 667532
Applied Workarounds: disable_accelerated_vp8_decode, disable_accelerated_vp9_decode
Delayed copy NV12 displays incorrect colors on NVIDIA drivers.: 728670
Applied Workarounds: disable_delayed_copy_nv12
Expose WebGL’s disjoint_timer_query extensions on platforms with site isolation: 808744, 870491
Applied Workarounds: enable_webgl_timer_query_extensions
VP8 decoding crashes before Windows 10 Fall Creators Update.: 1094840
Applied Workarounds: disable_accelerated_vp8_decode
Always force direct composition full damage on older Windows 10 releases: 1212825
Applied Workarounds: force_direct_composition_full_damage_always
ANGLE Features
allow_compressed_formats (Frontend workarounds): Enabled: true
Allow compressed formats
disable_anisotropic_filtering (Frontend workarounds): Disabled
Disable support for anisotropic filtering
disable_program_binary (Frontend features) anglebug:5007: Disabled
Disable support for GL_OES_get_program_binary
disable_program_caching_for_transform_feedback (Frontend workarounds): Disabled
On some GPUs, program binaries don’t contain transform feedback varyings
enableCompressingPipelineCacheInThreadPool (Frontend workarounds) anglebug:4722: Disabled: false
Enable compressing pipeline cache in thread pool.
enable_capture_limits (Frontend features) anglebug:5750: Disabled
Set the context limits like frame capturing was enabled
forceRobustResourceInit (Frontend workarounds) anglebug:6041: Disabled
Force-enable robust resource init
lose_context_on_out_of_memory (Frontend workarounds): Enabled: true
Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs
scalarize_vec_and_mat_constructor_args (Frontend workarounds) 1165751: Disabled: false
Always rewrite vec/mat constructors to be consistent
sync_framebuffer_bindings_on_tex_image (Frontend workarounds): Disabled
On some drivers TexImage sometimes seems to interact with the Framebuffer
add_mock_texture_no_render_target (D3D workarounds) anglebug:2152: Disabled: isIntel && capsVersion < IntelDriverVersion(4815)
On some drivers when rendering with no render target, two bugs lead to incorrect behavior
allow_clear_for_robust_resource_init (D3D workarounds) 941620: Enabled: true
Some drivers corrupt texture data when clearing for robust resource initialization.
allow_translate_uniform_block_to_structured_buffer (D3D workarounds) anglebug:3682: Disabled: IsWin10OrGreater()
There is a slow fxc compile performance issue with dynamic uniform indexing if translating a uniform block with a large array member to cbuffer.
call_clear_twice (D3D workarounds) 655534: Disabled: isIntel && isSkylake && capsVersion < IntelDriverVersion(4771)
Using clear() may not take effect
depth_stencil_blit_extra_copy (D3D workarounds) anglebug:1452: Disabled: (part1 <= 13u && part2 < 6881) && isNvidia && driverVersionValid
Bug in some drivers triggers a TDR when using CopySubresourceRegion from a staging texture to a depth/stencil
disable_b5g6r5_support (D3D workarounds): Disabled: (isIntel && capsVersion < IntelDriverVersion(4539)) || isAMD
Textures with the format DXGI_FORMAT_B5G6R5_UNORM have incorrect data
emulate_isnan_float (D3D workarounds) 650547: Disabled: isIntel && isSkylake && capsVersion < IntelDriverVersion(4542)
Using isnan() on highp float will get wrong answer
emulate_tiny_stencil_textures (D3D workarounds): Disabled: isAMD && !(deviceCaps.featureLevel < D3D_FEATURE_LEVEL_10_1)
1x1 and 2x2 mips of depth/stencil textures aren’t sampled correctly
expand_integer_pow_expressions (D3D workarounds): Enabled: true
The HLSL optimizer has a bug with optimizing ‘pow’ in certain integer-valued expressions
flush_after_ending_transform_feedback (D3D workarounds): Enabled: isNvidia
Some drivers sometimes write out-of-order results to StreamOut buffers when transform feedback is used to repeatedly write to the same buffer positions
force_atomic_value_resolution (D3D workarounds) anglebug:3246: Enabled: isNvidia
On some drivers the return value from RWByteAddressBuffer.InterlockedAdd does not resolve when used in the .yzw components of a RWByteAddressBuffer.Store operation
get_dimensions_ignores_base_level (D3D workarounds): Enabled: isNvidia
Some drivers do not take into account the base level of the texture in the results of the HLSL GetDimensions builtin
mrt_perf_workaround (D3D workarounds): Enabled: true
Some drivers have a bug where they ignore null render targets
pre_add_texel_fetch_offsets (D3D workarounds): Disabled: isIntel
HLSL’s function texture.Load returns 0 when the parameter Location is negative, even if the sum of Offset and Location is in range
rewrite_unary_minus_operator (D3D workarounds): Disabled: isIntel && (isBroadwell || isHaswell) && capsVersion < IntelDriverVersion(4624)
Evaluating unary minus operator on integer may get wrong answer in vertex shaders
select_view_in_geometry_shader (D3D workarounds): Enabled: !deviceCaps.supportsVpRtIndexWriteFromVertexShader
The viewport or render target slice will be selected in the geometry shader stage for the ANGLE_multiview extension
set_data_faster_than_image_upload (D3D workarounds): Enabled: !(isIvyBridge || isBroadwell || isHaswell)
Set data faster than image upload
skip_vs_constant_register_zero (D3D workarounds): Enabled: isNvidia
In specific cases the driver doesn’t handle constant register zero correctly
use_instanced_point_sprite_emulation (D3D workarounds): Disabled: isFeatureLevel9_3
Some D3D11 renderers do not support geometry shaders for pointsprite emulation
use_system_memory_for_constant_buffers (D3D workarounds) 593024: Disabled: isIntel
Copying from staging storage to constant buffer storage does not work
zero_max_lod (D3D workarounds): Disabled: isFeatureLevel9_3
Missing an option to disable mipmaps on a mipmapped texture

Version Information
Data exported 2021-09-26T21:29:38.188Z
Chrome version Chrome/93.0.4577.82
Operating system Windows NT 6.3.9600
Software rendering list URL https://chromium.googlesource.com/chromium/src/+/e3a25d9b9e2d0b728e045ec87c0aa4942aa46e4e/gpu/config/software_rendering_list.json
Driver bug list URL https://chromium.googlesource.com/chromium/src/+/e3a25d9b9e2d0b728e045ec87c0aa4942aa46e4e/gpu/config/gpu_driver_bug_list.json
ANGLE commit id 0775a1fb4254
2D graphics backend Skia/93 e261fe99fa41d3a829f540cb3823d581deeb29a8
Command Line “C:\Program Files\BraveSoftware\Brave-Browser\Application\brave.exe” --profile-directory=Default --enable-dom-distiller --disable-domain-reliability --no-pings --origin-trial-public-key=bYUKPJoPnCxeNvu72j4EmPuK7tr1PAC7SHh8ld9Mw3E=,fMS4mpO6buLQ/QMd+zJmxzty/VQ6B1EUZqoCU04zoRU= --sync-url=https://sync-v2.brave.com/v2 --lso-url=https://no-thanks.invalid --variations-server-url=https://variations.brave.com/seed --enable-features=PrefetchPrivacyChanges,LegacyTLSEnforced,AutoupgradeMixedContent,WinrtGeolocationImplementation,SafetyTip,WebUIDarkMode,PasswordImport,ReducedReferrerGranularity --disable-features=FlocIdComputedEventLogging,HandwritingRecognitionWebPlatformApiFinch,PrivacySandboxSettings,FederatedLearningOfCohorts,TextFragmentAnchor,ReadLater,FledgeInterestGroups,InterestCohortFeaturePolicy,IdleDetection,SubresourceWebBundles,NetworkTimeServiceQuerying,LangClientHintHeader,SignedExchangeSubresourcePrefetch,TrustTokens,DirectSockets,FledgeInterestGroupAPI,AutofillEnableAccountWalletStorage,InterestCohortAPIOriginTrial,FirstPartySets,SignedExchangePrefetchCacheForNavigations,WebOTP,NotificationTriggers,AutofillServerCommunication,LiveCaption --flag-switches-begin --disable-features=FlocIdComputedEventLogging,HandwritingRecognitionWebPlatformApiFinch,PrivacySandboxSettings,FederatedLearningOfCohorts,TextFragmentAnchor,ReadLater,FledgeInterestGroups,InterestCohortFeaturePolicy,IdleDetection,SubresourceWebBundles,NetworkTimeServiceQuerying,LangClientHintHeader,SignedExchangeSubresourcePrefetch,TrustTokens,DirectSockets,FledgeInterestGroupAPI,AutofillEnableAccountWalletStorage,InterestCohortAPIOriginTrial,FirstPartySets,SignedExchangePrefetchCacheForNavigations,WebOTP,NotificationTriggers,AutofillServerCommunication,LiveCaption,Vulkan --flag-switches-end
Driver Information
Initialization time 474
In-process GPU false
Passthrough Command Decoder true
Sandboxed true
GPU0 VENDOR= 0x10de, DEVICE=0x1401, SUBSYS=0x32021462, REV=161, LUID={0,40659} ACTIVE
GPU1 VENDOR= 0x1414, DEVICE=0x008c, LUID={0,43172}
Optimus false
AMD switchable false
Desktop compositing Aero Glass
Direct composition false
Supports overlays false
YUY2 overlay support NONE
NV12 overlay support NONE
BGRA8 overlay support NONE
RGB10A2 overlay support NONE
Diagonal Monitor Size of \.\DISPLAY2 22.9"
Diagonal Monitor Size of \.\DISPLAY1 23.9"
Driver D3D12 feature level Not supported
Driver Vulkan API version Vulkan API 1.2.0
Driver vendor NVIDIA
Driver version 30.0.14.7212
GPU CUDA compute capability major version 0
Pixel shader version 5.0
Vertex shader version 5.0
Max. MSAA samples 8
Machine model name
Machine model version
GL_VENDOR Google Inc. (NVIDIA)
GL_RENDERER ANGLE (NVIDIA, NVIDIA GeForce GTX 960 Direct3D11 vs_5_0 ps_5_0, D3D11-30.0.14.7212)
GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.16206 git hash: 0775a1fb4254)
GL_EXTENSIONS GL_ANGLE_base_vertex_base_instance GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_get_serialized_context_string GL_ANGLE_get_tex_level_parameter GL_ANGLE_instanced_arrays GL_ANGLE_lossy_etc_decode GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_pack_reverse_row_order GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory 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_lose_context GL_CHROMIUM_sync_query GL_EXT_EGL_image_external_wrap_modes GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisampled_render_to_texture 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_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc 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_KHR_parallel_shader_compile 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_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_border_clamp 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_texture_stencil8 GL_OES_vertex_array_object GL_WEBGL_video_texture
Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions
Window system binding vendor Google Inc. (NVIDIA)
Window system binding version 1.5 (ANGLE 2.1.16206 git hash: 0775a1fb4254)
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_ANGLE_direct_composition EGL_NV_post_sub_buffer EGL_KHR_create_context 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_stream_producer_d3d_texture EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_display_semaphore_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_image_d3d11_texture EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_KHR_reusable_sync
Direct rendering version unknown
Reset notification strategy 0x8252
GPU process crash count 0
gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status
R_8 Software only
R_16 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 GPU_READ, SCANOUT
RGBA_8888 GPU_READ, SCANOUT
BGRX_8888 Software only
BGRA_1010102 Software only
RGBA_1010102 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR GPU_READ, SCANOUT, SCANOUT_CPU_READ_WRITE, GPU_READ_CPU_READ_WRITE
P010 Software only
Display(s) Information
Info Display[2528732444] bounds=[0,0 1920x1080], workarea=[0,0 1920x1040], scale=1, rotation=0, panel_rotation=0 external.
Color space (sRGB/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (sRGB/no-alpha) BGRX_8888
Color space (sRGB/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (sRGB/alpha) BGRA_8888
Color space (WCG/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (WCG/no-alpha) BGRX_8888
Color space (WCG/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (WCG/alpha) BGRA_8888
Color space (HDR/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (HDR/no-alpha) BGRX_8888
Color space (HDR/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (HDR/alpha) BGRA_8888
SDR white level in nits 80
Bits per color component 8
Bits per pixel 24
Refresh Rate in Hz 60
Info Display[2779098405] bounds=[-1920,0 1920x1080], workarea=[-1920,0 1920x1080], scale=1, rotation=0, panel_rotation=0 external.
Color space (sRGB/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (sRGB/no-alpha) BGRX_8888
Color space (sRGB/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (sRGB/alpha) BGRA_8888
Color space (WCG/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (WCG/no-alpha) BGRX_8888
Color space (WCG/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (WCG/alpha) BGRA_8888
Color space (HDR/no-alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (HDR/no-alpha) BGRX_8888
Color space (HDR/alpha) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (HDR/alpha) BGRA_8888
SDR white level in nits 80
Bits per color component 8
Bits per pixel 24
Refresh Rate in Hz 60
Video Acceleration Information
Decode h264 baseline 64x64 to 4096x4096 pixels
Decode h264 main 64x64 to 4096x4096 pixels
Decode h264 high 64x64 to 4096x4096 pixels
Vulkan Information
Device Performance Information
Total Physical Memory (Gb) 7
Total Disk Space (Gb) 102
Hardware Concurrency 4
System Commit Limit (Gb) 19
D3D11 Feature Level Unknown
Has Discrete GPU unknown
Software Rendering No
Diagnostics

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.