Audio/Video Latency on Intel Gen 9 iGPU (no discrete GPU) — VP9 HW Encode Disabled, SDK 2.3.12

Description
Hey, One of our users (User A) on a Windows 11, Intel UHD Gen9 is experiencing significant audio/video latency on our platform. Another user (User B) on an Apple M4 Max has no issues in the same sessions. They both are also on the same wifi networks. We suspect hardware limitations are causing decoding issues with incoming video and hence the frames are getting dropped and causing lag. I wanted to confirm if the bottleneck is their machine.

We asked both users to go to chrome://gpu and took a dump of it. Here is what we have observed:

System Overview

User A (affected):

  • OS: Windows 11
  • RAM: 32 GB
  • CPU: Intel i7 (8 threads)
  • GPU: Intel UHD Graphics Gen 9 (integrated, no discrete GPU)
  • Internet: ~300 Mbps
  • Monitors: 3× 1920×1080 @ 60Hz

User B (working):

  • OS: macOS (Apple Silicon)
  • CPU/GPU: Apple M4 Max (unified architecture)
  • Monitor: 1× 1800×1169 @ 120Hz (Retina)

Graphics Backend

User A:

  • GL Implementation: egl-angle via D3D11
  • Display Type: ANGLE_D3D11
  • GL Version: OpenGL ES 2.0
  • Skia Graphite: Disabled
  • GPU Init Time: 510 ms

User B:

  • GL Implementation: egl-angle via Metal
  • Display Type: ANGLE_METAL
  • GL Version: OpenGL ES 3.0
  • Skia Backend: GraphiteDawnMetal
  • Skia Graphite: Enabled
  • GPU Init Time: 97 ms

Video Encode Capabilities

User A:

  • H264 (Baseline/Main/High): 1920×1088 @ 30 fps max
  • VP9 HW Encode: Disabled entirely (pre-Ice Lake Intel workaround)
  • HEVC Encode: Not supported

User B:

  • H264 (Baseline/Main/High): 4096×2304 @ 120 fps
  • HEVC Encode: 8192×4352 @ 120 fps

Video Decode Capabilities

User A:

  • H264: up to 4096×4096
  • VP9 Profile 0: up to 8192×8192
  • AV1: Not supported
  • HEVC Main: up to 8192×8192

User B:

  • H264: up to 4096×4096
  • VP9 Profile 0: up to 4096×4096
  • AV1: up to 8192×8192
  • HEVC Main: up to 8192×8192

GPU Memory & Compositing

User A:

  • Compositor Tile Mode: One-copy
  • Has Discrete GPU: No
  • Intel GPU Generation: Gen 9 (pre-Ice Lake)
  • gfx::BufferFormats supported for allocation and texturing: All formats “not supported”
  • GpuMemoryBuffers: Most formats “Software only” (only RGBX_8888 and RGBA_8888 have GPU_READ/SCANOUT)

User B:

  • Compositor Tile Mode: Zero-copy
  • Unified GPU architecture (no iGPU/dGPU split)

Graphics Feature Comparison

Both users have hardware acceleration enabled for: Canvas, Compositing, Video Decode, Video Encode, Rasterization, WebGL, and WebGPU.

Key differences:

  • Skia Graphite: User A Disabled / User B Enabled
  • Vulkan: User A Disabled / User B N/A

Note

From the zoom dashboard for this session we observe the following:

  • Device-to-web-client latency extremely high
  • Local packet loss at 38.2%
  • Bitrate dropped dramatically: 873kbps → 37kbps
  • They have a stable internet speed (~300 mbps)

Questions

  • Is there anything the user can change to fix these issues?
  • We are also getting on a call to troubleshoot this with them, is there anything specific we can check?

Which Web Video SDK version?
2.3.12

Device (please complete the following information):

  • OS: Windows 11
  • Browser: Chrome

Hey @Sohan

Thanks for your feedback.

Could you share some problematic session IDs with us for troubleshooting purposes?

Thanks
Vic

Hello @vic.yang , here are the session IDs from the zoom dashboard:

  • fsqxtrraqucujkrxfsebsadbphgrzmwh (Chcvm6lzSqOFw7tusFyqMQ==)

  • cgcryhvewyagksfqnnpcdvjqaczppjvv (3vrB5ageSEulQKPpNLnl3w==)

  • ummooexgxzwocbhvmmsbjoplhuetviym (IABnZkjmQoSIhxVBIXXAfQ==)

  • ftdhufqzdphtvnncmlydimwofsvcxyza (dYUpmlC3Q2uHnzVc7/9NAg==)

Thank you

Hi @Sohan

  • fsqxtrraqucujkrxfsebsadbphgrzmwh (Chcvm6lzSqOFw7tusFyqMQ==)
  • cgcryhvewyagksfqnnpcdvjqaczppjvv (3vrB5ageSEulQKPpNLnl3w==)
  • ummooexgxzwocbhvmmsbjoplhuetviym (IABnZkjmQoSIhxVBIXXAfQ==)
  • ftdhufqzdphtvnncmlydimwofsvcxyza (dYUpmlC3Q2uHnzVc7/9NAg==)

We are analyzing the logs. In the meantime, could you try the WebRTC solution by setting the JWT fields video_webrtc_mode and audio_webrtc_mode to 1?

Thanks
Vic