-
-
Notifications
You must be signed in to change notification settings - Fork 740
Description
Calling present on a Vulkan application takes about 5-30ms on Niri (while only taking about 0.06 ms on GNOME for example). This is around the frame time of the application (might be related). The time seems to be scaling with increasing load on the GPU. The same numbers can be observed in Mailbox and Fifo mode.
Screenshot from the merian-quake profiler in Niri (look at CPU/submit callbacks/present):
Mean and variance over 500 ms:
Screenshot from merian-quake profiler in GNOME:
Might be related: The ray tracing kernel varies between 3-20ms on Niri (see again the screenshot) while being at a stable 3.1ms on GNOME. Other kernels also have this huge variance and from profiling with NSight it seems that Niri is interrupting too often and taking too much GPU time: #3556. You can actually see the larger interruptions in the profiler as spikes. While GNOME interrupts as well it happens very infrequently and that's also what I am used to seeing in Nsight when I was using GNOME.
I am happy to help debugging this issue - thanks for the great compositor!
Config
environment {
XDG_CURRENT_DESKTOP "niri"
QT_QPA_PLATFORM "wayland"
ELECTRON_OZONE_PLATFORM_HINT "auto"
QT_QPA_PLATFORMTHEME "gtk3"
QT_QPA_PLATFORMTHEME_QT6 "gtk3"
XDG_MENU_PREFIX "arch-"
}
spawn-sh-at-startup "xdg_menu && kbuildsycoca6"
input {
keyboard {
xkb {
// fetch xkb settings from systemd-localed at org.freedesktop.locale1 over D-Bus. This way, for example, system installers can dynamically set the niri keyboard layout.
}
numlock
}
touchpad {
tap
natural-scroll
// dwt // disable-while-typing
}
mouse {
accel-profile "flat"
// accel-speed 0.0
}
trackpoint {
// accel-profile "flat"
}
warp-mouse-to-focus
focus-follows-mouse max-scroll-amount="0%"
}
layout {
gaps 16
center-focused-column "never"
preset-column-widths {
proportion 0.33333
proportion 0.5
proportion 0.66667
}
default-column-width { proportion 0.5; }
focus-ring {
width 4
active-color "#7fc8ff"
inactive-color "#505050"
}
border {
off
width 4
active-color "#ffc87f"
inactive-color "#505050"
urgent-color "#9b0000"
}
shadow {
on
softness 30
spread 5
offset x=0 y=5
color "#0007"
}
}
spawn-at-startup "bash" "-c" "wl-paste --watch cliphist store"
hotkey-overlay {
// DMS has its own keybind viewer (Mod+Shift+/)
skip-at-startup
}
prefer-no-csd
screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"
animations {
}
// DMS renders its wallpaper as a Quickshell surface in the background layer.
// dms:blurwallpaper (in backdrop via wpblur.kdl) shows behind it during overview.
layer-rule {
match namespace="^quickshell$"
}
// ── DMS includes ─────────────────────────────────────────────────────────────
include "dms/colors.kdl"
include "dms/layout.kdl"
include "dms/alttab.kdl"
include "dms/cursor.kdl"
include "dms/outputs.kdl"
include "dms/windowrules.kdl"
include "dms/wpblur.kdl"
include "dms/binds.kdl"
binds {
Mod+Shift+Ctrl+D { debug-toggle-damage; }
}
System Information
- niri version: niri 25.11
- Distro: Fedora 43
- GPU: NVIDIA RTX 5070 Ti Laptop
- CPU: Intel(R) Core(TM) Ultra 9 285H