June 26th, 2024

Fixing KWin's performance on old hardware

KWin in KDE improves performance on older Intel integrated graphics in Wayland by optimizing rendering deadlines, introducing triple buffering, and benefiting systems with AMD and Nvidia GPUs. Plasma 6.1 integrates these enhancements for smoother performance.

Read original articleLink Icon
Fixing KWin's performance on old hardware

KWin, a window manager in KDE, has addressed long-standing performance issues on older Intel integrated graphics in its Wayland session. The issue stemmed from missed rendering deadlines causing stuttering. To tackle this, KWin implemented a scheduling mechanism to optimize rendering closer to deadlines by measuring GPU render times. Additionally, a form of triple buffering was introduced to improve rendering efficiency without increasing latency excessively. These changes have shown significant improvements, especially on older Intel laptops with high-resolution screens, where triple buffering is always active, resulting in smoother performance. The enhancements have also benefited systems with dedicated GPUs, like AMD and Nvidia, by optimizing rendering processes. The latest Plasma 6.1 release incorporates these improvements, ensuring triple buffering is only active when rendering exceeds a refresh cycle, maintaining low latency, and working across different GPU types. Overall, these updates have enhanced performance on various systems, providing smoother frame rates and reducing stuttering during display rendering.

Related

Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)

Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)

Improving texture atlas allocation in WebRender with the guillotiere crate reduces texture memory usage. The guillotine algorithm was replaced due to fragmentation issues, leading to a more efficient allocator. Visualizing the atlas in SVG aids debugging. Rust's simplicity and Cargo fuzz testing are praised for code development and robustness. Enhancements in draw call batching and texture upload aim to boost performance on low-end Intel GPUs by optimizing texture atlases.

Should you upgrade GPU or CPU for faster gaming? Many hardware combos tested

Should you upgrade GPU or CPU for faster gaming? Many hardware combos tested

Tom's Hardware study compares CPU and GPU upgrades for gaming. Pairing top GPUs with older CPUs can lead to 40% performance drop at 1080p. Balanced upgrades crucial for optimal performance across settings.

Homegrown Rendering with Rust

Homegrown Rendering with Rust

Embark Studios develops a creative platform for user-generated content, emphasizing gameplay over graphics. They leverage Rust for 3D rendering, introducing the experimental "kajiya" renderer for learning purposes. The team aims to simplify rendering for user-generated content, utilizing Vulkan API and Rust's versatility for GPU programming. They seek to enhance Rust's ecosystem for GPU programming.

Ubuntu 24.10 Now Defaults to Wayland on Nvidia

Ubuntu 24.10 Now Defaults to Wayland on Nvidia

Ubuntu 24.10 will switch to using Wayland over X11 for NVIDIA GPUs due to improved driver support. This aligns with GNOME 47 updates, enhancing performance and user experience with modern graphics technologies.

KDE Plasma 6.1 Performing Much Better on Older Intel Integrated Graphics

KDE Plasma 6.1 Performing Much Better on Older Intel Integrated Graphics

The KDE Plasma 6.1 desktop environment enhances performance on older Intel integrated graphics, especially on aging laptops, by introducing dynamic triple buffering in the KWin compositor. Users notice smoother graphics and increased frame rates.

Link Icon 1 comments
By @01HNNWZ0MV43FF - 4 months
Nice! Btw this

> Instead of assuming we always need the whole frame for rendering, KWin measures how long rendering takes and could start compositing closer to the deadline, which reduced latency.

Is called "frame pacing" in video games. I believe browsers do it too for requestAnimationFrame