100% CPU load in Jitsi Meet conference
-
VB-74672
Hi,
I noticed, that Jitsi Meet video conference in Vivaldi raises CPU usage to about 450%. Same conference with same settings in firefox uses just about 80% CPU.
I already enabled the experimental settings dealing with HW acceleration. From vivaldi://gpu it seems to be quite o.k.:
Graphics Feature Status Canvas: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Out-of-process Rasterization: Hardware accelerated OpenGL: Enabled Hardware Protected Video Decode: Hardware accelerated Rasterization: Hardware accelerated on all pages Skia Renderer: Enabled Video Decode: Hardware accelerated Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated
How can I fix it?
It's Vivaldi 3.4.2066.106 (Stable channel) (64-Bit) for Linux on Intel Core i5 notebook (kUbuntu 20.04 if that matters).--
ModEdit: Added VB#
-
@jochen01 Hi, how are you getting these numbers? The Vivaldi task manager gives CPU usage as accumulated over the logical processors/threads. So if you have 6 logical processors 450% would be 75%.
The Firefox task manager does not give processor % (AFAIK) only a value of low/medium/high.
I already enabled the experimental settings dealing with HW acceleration.
What setting would this be? In
vivaldi://experiments/
there is no setting related to Hw acceleration. -
@Pathduck said in 100% CPU load in Jitsi Meet conference:
@jochen01 Hi, how are you getting these numbers? The Vivaldi task manager gives CPU usage as accumulated over the logical processors/threads. So if you have 6 logical processors 450% would be 75%.
Accumulated load over all cores. If you count the sum of all cores as 100% the load is about 80..90%. Far too high for low resolution video decoded by hardware.
The Firefox task manager does not give processor % (AFAIK) only a value of low/medium/high.
For measurement of CPU load I don't use tools of the browser. For that I usually use htop.
What setting would this be? In
vivaldi://experiments/
there is no setting related to Hw acceleration.See settings in vivaldi://flags (or chrome://flags). There I've set
- Override software rendering list --> enabled
- GPU rasterization --> enabled
- Out of process rasterization --> enabled
- Hardware-accelerated video decode --> enabled
- WebGL Draft Extensions --> enabled
- YUV Decoding for WebP --> enabled
That's a try to improve (lower) CPU usage. No success so far.
-
@jochen01
Hi, does your laptop have a discrete GPU or Intel integrated?
I have an old i7 with HD4000 GPU and HW acceleration is working.
I would not play with Flags until it is clear your card is supported at all.
Please set to defaults and post output of vivaldi://gpu marked with </> button for better readability.Cheers, mib
-
@jochen01 said in 100% CPU load in Jitsi Meet conference:
Override software rendering list --> enabled
Hardware-accelerated video decode --> enabledIf this means that it was disabled, perhaps there was a reason your GPU was in the list?
-
@mib2berlin It does not have a dedicated graphics chip. So, just Intel CPU graphics. lshw output (just display):
*-display description: VGA compatible controller product: UHD Graphics vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 02 width: 64 bits clock: 33MHz capabilities: vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:127 memory:8a000000-8affffff memory:80000000-87ffffff ioport:5000(size=64) memory:c0000-dfff
Output of vivaldi://gpu:
Graphics Feature Status Canvas: Hardware accelerated Compositing: Hardware accelerated Multiple Raster Threads: Enabled Out-of-process Rasterization: Disabled OpenGL: Enabled Hardware Protected Video Decode: Unavailable Rasterization: Software only. Hardware acceleration disabled Skia Renderer: Enabled Video Decode: Software only. Hardware acceleration disabled Vulkan: Disabled WebGL: Hardware accelerated WebGL2: Hardware accelerated Driver Bug Workarounds adjust_src_dst_region_for_blitframebuffer clear_uniforms_before_first_program_use decode_encode_srgb_for_generatemipmap exit_on_context_lost msaa_is_slow scalarize_vec_and_mat_constructor_args disabled_extension_GL_KHR_blend_equation_advanced disabled_extension_GL_KHR_blend_equation_advanced_coherent Problems Detected Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows: 1093625 Disabled Features: protected_video_decode 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 On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565 Applied Workarounds: msaa_is_slow adjust src/dst region if blitting pixels outside framebuffer on Linux Intel: 664740 Applied Workarounds: adjust_src_dst_region_for_blitframebuffer 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 Linux Mesa ANGLE path: 634519 Applied Workarounds: decode_encode_srgb_for_generatemipmap Some drivers can't recover after OUT_OF_MEM and context lost: 893177 Applied Workarounds: exit_on_context_lost Accelerated video decode has been disabled, either via blocklist, about:flags or the command line. Disabled Features: video_decode ANGLE Features disable_program_caching_for_transform_feedback (Frontend workarounds): Disabled: IsAndroid() && isQualcomm On some GPUs, program binaries don't contain transform feedback varyings 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) 398694: Enabled: true Always rewrite vec/mat constructors to be consistent sync_framebuffer_bindings_on_tex_image (Frontend workarounds): Disabled: IsWindows() && isIntel On some drivers TexImage sometimes seems to interact with the Framebuffer add_and_true_to_loop_condition (OpenGL workarounds): Disabled: IsApple() && isIntel Calculation of loop conditions in for and while loop has bug adjust_src_dst_region_for_blitframebuffer (OpenGL workarounds) 830046: Enabled: IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia) Many platforms have issues with blitFramebuffer when the parameters are large. allow_clear_for_robust_resource_init (OpenGL workarounds) 883276: Disabled: IsApple() Using glClear for robust resource initialization is buggy on some drivers and leads to texture corruption. Default to data uploads except on MacOS where it is very slow. always_call_use_program_after_link (OpenGL workarounds) 110263: Enabled: true Always call useProgram after a successful link to avoid a driver bug avoid_1_bit_alpha_texture_formats (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isAMD Issue with 1-bit alpha framebuffer formats avoid_dxt1_srgb_texture_format (OpenGL workarounds): Disabled: IsWindows() && isIntel Replaces DXT1 sRGB with DXT1 sRGB Alpha as a driver bug workaround. clamp_array_access (OpenGL workarounds) anglebug:2978: Disabled: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior") Clamp uniform array access to avoid reading invalid memory. clamp_frag_depth (OpenGL workarounds): Disabled: isNvidia gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer clamp_msc_rate (OpenGL workarounds) 1042393: Disabled: IsLinux() && IsWayland() Some drivers return bogus values for GetMscRate, so we clamp it to 30Hz clamp_point_size (OpenGL workarounds): Disabled: IsAndroid() || isNvidia The point size range reported from the API is inconsistent with the actual behavior clear_to_zero_or_one_broken (OpenGL workarounds) 710443: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6) Clears when the clear color is all zeros or ones do not work. clip_src_region_for_blitframebuffer (OpenGL workarounds) 830046: Disabled: IsApple() || (IsLinux() && isAMD) Issues with blitFramebuffer when the parameters don't match the framebuffer size. decode_encode_srgb_for_generatemipmap (OpenGL workarounds) anglebug:4646: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP Decode and encode before generateMipmap for srgb format textures. disable_blend_func_extended (OpenGL workarounds) anglebug:1085: Enabled: isAMD || isIntel ARB_blend_func_extended does not pass the tests disable_draw_buffers_indexed (OpenGL workarounds): Disabled: IsWindows() && isAMD Disable OES_draw_buffers_indexed extension. disable_gpu_switching_support (OpenGL workarounds) 1091824: Disabled: isDualGPUMacWithNVIDIA Disable GPU switching support (use only the low-power GPU) on older MacBook Pros. disable_native_parallel_compile (OpenGL workarounds) 1094869: Disabled: isTSANBuild && IsLinux() && isNvidia Do not use native KHR_parallel_shader_compile even when available. disable_semaphore_fd (OpenGL workarounds) 1046462: Disabled: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5}) Disable GL_EXT_semaphore_fd extension disable_timestamp_queries (OpenGL workarounds) 811661: Disabled: IsLinux() && isVMWare Disable GL_EXT_disjoint_timer_query extension disable_worker_contexts (OpenGL workarounds) 849576: Disabled: (IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia) Some tests have been seen to fail using worker contexts do_while_glsl_causes_gpu_hang (OpenGL workarounds) 644669: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP && GetMacOSVersion() < OSVersion(10, 11, 0) Some GLSL constructs involving do-while loops cause GPU hangs does_srgb_clears_on_linear_framebuffer_attachments (OpenGL workarounds): Enabled: functions->standard == STANDARD_GL_DESKTOP && (isIntel || isAMD) Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled dont_initialize_uninitialized_locals (OpenGL workarounds) anglebug:2046: Disabled: IsAndroid() && isQualcomm Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests dont_relink_programs_in_parallel (OpenGL workarounds) anglebug:3045: Disabled: IsAndroid() || (IsWindows() && isIntel) Relinking a program in parallel is buggy dont_use_loops_to_initialize_variables (OpenGL workarounds) 809422: Disabled: (IsAndroid() && isQualcomm) || (isIntel && IsApple()) For loops used to initialize variables hit native GLSL compiler bugs emulate_abs_int_function (OpenGL workarounds) 642227: Disabled: IsApple() && isIntel abs(i) where i is an integer returns unexpected result emulate_atan_2_float (OpenGL workarounds) 672380: Disabled: isNvidia atan(y, x) may return a wrong answer emulate_copyteximage2d_from_renderbuffers (OpenGL workarounds) anglebug:4674: Disabled: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows()) CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers. emulate_isnan_float (OpenGL workarounds) 650547: Disabled: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2) Using isnan() on highp float will get wrong answer emulate_max_vertex_attrib_stride (OpenGL workarounds) anglebug:1936: Disabled: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried emulate_pack_skip_rows_and_pack_skip_pixels (OpenGL workarounds) anglebug:4849: Disabled: IsApple() && (isAMD || isIntel || isNvidia) GL_PACK_SKIP_ROWS and GL_PACK_SKIP_PIXELS are ignored in Apple's OpenGL driver. emulate_primitive_restart_fixed_index (OpenGL workarounds) anglebug:3997: Disabled: functions->standard == STANDARD_GL_DESKTOP && functions->isAtLeastGL(gl::Version(3, 1)) && !functions->isAtLeastGL(gl::Version(4, 3)) When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex. finish_does_not_cause_queries_to_be_available (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isNvidia glFinish doesn't cause all queries to report available result flush_before_delete_texture_if_copied_to (OpenGL workarounds) anglebug:4267: Disabled: IsApple() && isIntel Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush before glDeleteTextures in this case initialize_current_vertex_attributes (OpenGL workarounds): Disabled: isNvidia During initialization, assign the current vertex attributes to the spec-mandated defaults max_3d_array_texture_size_1024 (OpenGL workarounds) 927470: Disabled: limitMaxTextureSize Limit max 3d texture size and max array texture layers to 1024 to avoid system hang max_msaa_sample_count_4 (OpenGL workarounds) 797243: Disabled: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia)) Various rendering bugs have been observed when using higher MSAA counts max_texture_size_limit_4096 (OpenGL workarounds) 927470: Disabled: IsAndroid() || limitMaxTextureSize Limit max texture size to 4096 to avoid frequent out-of-memory errors pack_last_row_separately_for_padding_inclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an pack buffer, some drivers count an extra row padding pack_overlapping_rows_separately_pack_buffer (OpenGL workarounds): Disabled: isNvidia In the case of packing to a pixel pack buffer, pack overlapping rows row by row pre_add_texel_fetch_offsets (OpenGL workarounds) 642605: Disabled: IsApple() && isIntel Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid even if the sum of position and offset is in range, so we need to add workarounds by rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, position + offset, lod). query_counter_bits_generates_errors (OpenGL workarounds) anglebug:3027: Disabled: IsNexus5X(vendor, device) Drivers generate errors when querying the number of bits in timer queries read_pixels_using_implementation_color_read_format (OpenGL workarounds) anglebug:4214: Disabled: functions->standard == STANDARD_GL_ES && functions->isAtLeastGLES(gl::Version(3, 1)) && functions->hasGLESExtension("GL_EXT_texture_norm16") Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from EXT_texture_norm16 correctly reapply_ubo_bindings_after_using_binary_program (OpenGL workarounds) anglebug:1637: Disabled: isAMD || IsAndroid() Some drivers forget about UBO bindings when using program binaries regenerate_struct_names (OpenGL workarounds) 403957: Disabled: IsApple() All Mac drivers do not handle struct scopes correctly. This workaround overwrites a structname with a unique prefix. remove_dynamic_indexing_of_swizzled_vector (OpenGL workarounds) 709351: Disabled: IsApple() || IsAndroid() || IsWindows() Dynamic indexing of swizzled l-values doesn't work correctly on various platforms. remove_invarient_and_centroid_for_essl3 (OpenGL workarounds): Disabled: functions->isAtMostGL(gl::Version(4, 1)) || (functions->standard == STANDARD_GL_DESKTOP && isAMD) Fix spec difference between GLSL 4.1 or lower and ESSL3 reset_teximage2d_base_level (OpenGL workarounds) 705865: Disabled: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4) Reset texture base level before calling glTexImage2D to work around pixel comparison failure. reset_texture_generates_errors (OpenGL workarounds) anglebug:3859: Disabled: IsApple() || (IsWindows() && isAMD) Calling glTexImage2D with zero size generates errors. rewrite_float_unary_minus_operator (OpenGL workarounds) 308366: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0) Using '-<float>' will get wrong answer rewrite_repeated_assign_to_swizzled (OpenGL workarounds): Disabled: isNvidia Repeated assignment to swizzled values inside a GLSL user-defined function have incorrect results rewrite_row_major_matrices (OpenGL workarounds) anglebug:2273: Disabled: false Rewrite row major matrices in shaders as column major as a driver bug workaround rewrite_vector_scalar_arithmetic (OpenGL workarounds) 772651: Disabled: isNvidia Certain types of GLSL arithmetic ops mixing vectors and scalars may be executed incorrectly rgb_dxt1_textures_sample_zero_alpha (OpenGL workarounds) anglebug:3729: Disabled: IsApple() Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac. rgba4_is_not_supported_for_color_rendering (OpenGL workarounds): Enabled: functions->standard == STANDARD_GL_DESKTOP && isIntel GL_RGBA4 is not color renderable set_primitive_restart_fixed_index_for_draw_arrays (OpenGL workarounds) anglebug:3997: Disabled: features->emulatePrimitiveRestartFixedIndex.enabled && IsApple() && isIntel Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart index is within the number of primitives being drawn. unfold_short_circuits (OpenGL workarounds) anglebug:482: Disabled: IsApple() Mac incorrectly executes both sides of && and || expressions when they should short-circuit. unpack_last_row_separately_for_padding_inclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia When uploading textures from an unpack buffer, some drivers count an extra row padding unpack_overlapping_rows_separately_unpack_buffer (OpenGL workarounds): Disabled: isNvidia In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row unsized_srgb_read_pixels_doesnt_transform (OpenGL workarounds) 565179: Disabled: IsAndroid() && isQualcomm Drivers returning raw sRGB values instead of linearized values when calling glReadPixels on unsized sRGB texture formats use_unused_blocks_with_standard_or_shared_layout (OpenGL workarounds): Disabled: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD) Unused std140 or shared uniform blocks will be treated as inactive vertex_id_does_not_include_base_vertex (OpenGL workarounds): Disabled: IsApple() && isAMD gl_VertexID in GLSL vertex shader doesn't include base vertex value Version Information Data exported 2020-11-26T11:04:01.886Z Chrome version Chrome/86.0.4240.198 Operating system Linux 5.4.0-54-generic Software rendering list URL https://chromium.googlesource.com/chromium/src/+/d8a506935fc2273cfbac5e5b629d74917d9119c7/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/d8a506935fc2273cfbac5e5b629d74917d9119c7/gpu/config/gpu_driver_bug_list.json ANGLE commit id unknown hash 2D graphics backend Skia/86 b939c288f3d6479d88d1444fafbe7441d11348aa Command Line /usr/bin/vivaldi-stable --disable-renderer-accessibility --save-page-as-mhtml --flag-switches-begin --flag-switches-end Driver Information Initialization time 95 In-process GPU false Passthrough Command Decoder true Sandboxed false GPU0 VENDOR= 0x8086 [Google Inc.], DEVICE=0x9b41 [ANGLE (Intel, Mesa Intel(R) UHD Graphics (CML GT2), OpenGL 4.6 core)] *ACTIVE* Optimus false AMD switchable false Driver vendor ANGLE Driver version 2.1.0.unknown GPU CUDA compute capability major version 0 Pixel shader version 1.00 Vertex shader version 1.00 Max. MSAA samples 16 Machine model name Machine model version GL_VENDOR Google Inc. GL_RENDERER ANGLE (Intel, Mesa Intel(R) UHD Graphics (CML GT2), OpenGL 4.6 core) GL_VERSION OpenGL ES 2.0.0 (ANGLE 2.1.0.unknown hash) 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_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample 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_external_update GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARB_sync 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_texture GL_CHROMIUM_lose_context 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_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_gpu_shader5 GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control 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_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_read_depth GL_NV_read_stencil GL_NV_shader_noperspective_interpolation 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_ETC1_RGB8_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_depth_texture 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_3D GL_OES_texture_border_clamp GL_OES_texture_cube_map_array 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 GL_WEBGL_video_texture Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent Disabled WebGL Extensions Window system binding vendor Window system binding version 1.5 (ANGLE 2.1.0.unknown hash) Window system binding extensions EGL_EXT_create_context_robustness EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate 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_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_NOK_texture_from_pixmap Window manager KWin XDG_CURRENT_DESKTOP KDE Compositing manager Yes System visual ID 0 RGBA visual ID 0 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 Software only RGBA_8888 Software only 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 Software only P010 Software only Display(s) Information Info Display[1881264395124802] bounds=[0,0 1920x1080], workarea=[0,0 1920x1080], scale=1, rotation=0, panel_rotation=0 external. Color space (all) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL} Buffer format (all) BGRA_8888 SDR white level in nits 100 Bits per color component 8 Bits per pixel 24 Refresh Rate in Hz 120 Video Acceleration Information Vulkan Information Device Performance Information Log Messages [133688:133688:1126/120339.556621:ERROR:sandbox_linux.cc(374)] : InitializeSandbox() called with multiple threads in process gpu-process.
But I cannot believe that the internal GPU of an Intel CPU might not be supported.
-
@jochen01 said in 100% CPU load in Jitsi Meet conference:
Same conference with same settings in firefox uses just about 80% CPU.
If you count the sum of all cores as 100% the load is about 80..90%. Far too high for low resolution video decoded by hardware.
I don't get the purpose of this thread, to make it not use 85% but 80% of the CPU? Clearly an old i5 of a notebook is not strong enough, its integrated gpu so old that was dropped in Chromium. The "bad" (but expected) performance is due to the machine, not the browser.
You could post your
inxi -Fmxxzy --no-host
for us to see what kind of machine it is. -
@jochen01
Hehe no, but Google donΒ΄t trust the Intel driver, I guess.
Now you can try to enable video decode with the flag:
vivaldi://flags/#enable-accelerated-video-decode
and check.
I guess the compression is high for these video conference tools.
I have no idea if the Rasterization is involved, too.Cheers, mib
EDIT: Forgot to mention you may have to start Vivaldi with --ignore-gpu-blocklist
to enable it. Cant test at moment. -
@npro You don't get the purpose of this thread? Maybe I can help.
A simple video conference uses about 85% CPU. I don't want it to consume 5% less but about 80% less. The load should be near 10...15%.
O.k. for you if you consider it an "old i5". Probably you find yourself quite alone with this opinion.CPU is Intel Core i5-10210U. Too old for you?
Driver for Intel GPU is used since H265 at full hd does not cause noticeable load. So it is decoded in hardware by the "old i5".Output of "inxi -Fmxxz --no-host" (only relevant data):
System: Kernel: 5.4.0-54-generic x86_64 bits: 64 compiler: gcc v: 9.3.0 Desktop: KDE Plasma 5.18.5 tk: Qt 5.12.8 wm: kwin_x11 dm: SDDM Distro: Ubuntu 20.04.1 LTS (Focal Fossa) Machine: Type: Laptop System: TUXEDO product: InfinityBook_S_14_v5 v: N/A serial: <filter> Chassis: Notebook type: 10 serial: <filter> Mobo: TUXEDO model: L140CU serial: <filter> UEFI: INSYDE v: 1.07.07RTR3 date: 02/17/2020 Memory: RAM: total: 15.37 GiB used: 2.83 GiB (18.4%) RAM Report: permissions: Unable to run dmidecode. Root privileges required. CPU: Topology: Quad Core model: Intel Core i5-10210U bits: 64 type: MT MCP arch: Kaby Lake rev: C L2 cache: 6144 KiB flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 33599 Speed: 1312 MHz min/max: 400/4200 MHz Core speeds (MHz): 1: 1312 2: 2404 3: 1986 4: 1458 5: 1393 6: 1260 7: 1827 8: 1692 Graphics: Device-1: Intel UHD Graphics vendor: CLEVO/KAPOK driver: i915 v: kernel bus ID: 00:02.0 chip ID: 8086:9b41 Display: x11 server: X.Org 1.20.8 driver: modesetting unloaded: fbdev,vesa compositor: kwin_x11 tty: N/A OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 20.0.8 direct render: Yes Audio: Device-1: Intel vendor: CLEVO/KAPOK driver: snd_hda_intel v: kernel bus ID: 00:1f.3 chip ID: 8086:02c8 Sound Server: ALSA v: k5.4.0-54-generic Network: Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel port: 5040 bus ID: 06:00.0 chip ID: 8086:2723 IF: wlp6s0 state: up mac: <filter> Drives: Local Storage: total: 465.76 GiB used: 179.91 GiB (38.6%) ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO M.2 500GB size: 465.76 GiB speed: 6.0 Gb/s serial: <filter> Sensors: System Temperatures: cpu: 46.0 C mobo: N/A Fan Speeds (RPM): N/A
-
@mib2berlin Tried it, does not really help.
But I noticed that switching off the camera (built in) helps a lot (CPU load drops to about 40%). It's not the camera itself, because if showing live video from the camera with vlc the CPU stays near idle. -
Hi,
Try on a New
's Profile, if not yet:
- " Right side" |
Rename it as Tests or something related, and use it as a Clean Profile, to test without custom configurations that can alter the original operation.
Since the result, check:
- Active Experiments
- Ad Blocker
- Clean Cache
- Site Data
- Extensions - Tip
Or fill in a Bug Report and please, add the VB# to the topic for follow up.
--
"Off Topic Tip"
Follow the Signature's Backup | Reset link.
Take the opportunity to start a Backup plan and even create a Template Profile.
Windows 7 (x64)
Vivaldi Back up | Reset - " Right side" |
-
@jochen01 Much better now, we can keep that as a system spec reference for feature issues, as CoC also requires. Indeed now we can see it's not an old notebook and it's a tuxedo laptop, nice
.The point still remains though, if this program makes Firefox consume 80% and Vivaldi 80%-90% then it's not Vivaldi's fault but the program's. A simple duckduckgoing shows numerous reports about its high CPU usage, even in their own github https://github.com/jitsi/jitsi-meet/issues/2596
And another one, random, fwiw: https://bugzilla.mozilla.org/show_bug.cgi?id=1247244
For future reference: I think one thing we only found out later is that the Firefox performance on the integrated Intel graphic cards is really bad. Although it shouldn't be like that on MacBook Pro's it helps to switch to the discrete Nvidia or AMD card instead.
So, you have to study those, unfortunately
-
@Zalex108 It happens in a clean profile too. Filled a bug report, but don't know what VB# means. Issue key: VB-74672.
-
@jochen01 said in 100% CPU load in Jitsi Meet conference:
@Zalex108 It happens in a clean profile too. Filled a bug report, but don't know what VB# means. Issue key: VB-74672.
That exactly,
- Vivaldi Bug Number | VB-74672.
Then,
After those other checks, seems that a waiting time will be necessary.You can eventually, check on the Vivaldi SnapShot version.
-
@jochen01 Another good idea is to always check vanilla Chromium on the same version, instead of Firefox, as it's the base for all Chromium-based browsers like Vivaldi. The above github link is about Chrome after all.
-
@npro Uups. Now I understand why it has been difficult to convince you that here may be a problem. It's been a typo.
Vivaldi: CPU almost 100% (85..95%); all cores
Firefox: CPU about 20%
Base load from other software/system included but has been constant during the test. -
@jochen01 Right, this shouldn't happen in the first place, but anyway, see the above post for comparisons.
-
@npro Unfortunately chromium is only available as a snap package for Ubuntu 20.x. That the reason for not trying that.
But I have installed Google Chrome to compare the browsers. Chrom is about the same as Firefox: 20..30% load.
Version info for Chrome: 87.0.4280.66 -
@npro said in 100% CPU load in Jitsi Meet conference:
A simple duckduckgoing shows numerous reports about its high CPU usage, even in their own github https://github.com/jitsi/jitsi-meet/issues/2596
Cisco WebEX (we use it in the office) shows the same problem.
-
@jochen01 said in 100% CPU load in Jitsi Meet conference:
@npro Unfortunately chromium is only available as a snap package for Ubuntu 20.x. That the reason for not trying that.
But I have installed Google Chrome to compare the browsers. Chrom is about the same as Firefox: 20..30% load.
Version info for Chrome: 87.0.4280.66Even that is not comparable:
@npro said in 100% CPU load in Jitsi Meet conference:@jochen01 Another good idea is to always check vanilla Chromium on the same version,
so you should compare Vivaldi (86) to Chrome 86, not 87.
P.S. Rhetorical question: Why you still on Ubuntu... couldn't you be using at least... Mint?