picom icon indicating copy to clipboard operation
picom copied to clipboard

Performance hit when running picom on hybrid intel/nvidia gpu laptop.

Open respectablenoob-source opened this issue 2 years ago • 7 comments

Platform

Arch Linux 64bit

GPU, drivers, and screen setup

picom version

Diagnostics

`Version: vgit-b700a

Extensions:

  • Shape: Yes
  • XRandR: Yes
  • Present: Present

Misc:

  • Use Overlay: No (Another compositor is already running)
  • Config file used: /home/ali/.config/picom/picom.conf

Drivers (inaccurate):

NVIDIA, modesetting

Backend: glx

  • Driver vendors:
  • GLX: Mesa Project and SGI
  • GL: Intel
  • GL renderer: Mesa Intel(R) UHD Graphics (CML GT2)
  • Accelerated: 1

Backend: egl

  • Driver vendors:
  • EGL: Mesa Project
  • EGL driver: iris
  • GL: Intel
  • GL renderer: Mesa Intel(R) UHD Graphics (CML GT2)`

Configuration:

Configuration file

shadow-exclude = [
    "name *= 'picom'",
    "class_g = 'firefox' && argb",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "_GTK_FRAME_EXTENTS@:c",
    "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];

backend = "glx";

glx-no-stencil = true;
glx-no-stencil = true;

#################################
#
# Opacity
#
#################################

inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;

#################################
#           Fading              #
#################################


# Fade windows in/out when opening/closing and when opacity changes,
#  unless no-fading-openclose is used.
#fading = false
fading = true;

# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
# fade-in-step = 0.028
fade-in-step = 0.030;

# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
# fade-out-step = 0.03
fade-out-step = 0.03;

vsync=true;

#################################
#     Background-Blurring       #
#################################


# Parameters for background blurring, see the *BLUR* section for more information.
blur-method = "dual_kawase";
blur-size = 12;
#
# blur-deviation = false
#
 blur-strength = 9

# Blur background of semi-transparent / ARGB windows.
# Bad in performance, with driver-dependent behavior.
# The name of the switch may change without prior notifications.
#
# blur-background = false

# Blur background of windows when the window frame is not opaque.
# Implies:
#    blur-background
# Bad in performance, with driver-dependent behavior. The name may change.
#
# blur-background-frame = false


# Use fixed blur strength rather than adjusting according to window opacity.
# blur-background-fixed = false


# Specify the blur convolution kernel, with the following format:
# example:
#   blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
#
# blur-kern = ""
blur-kern = "3x3box";


# Exclude conditions for background blur.
# blur-background-exclude = []
blur-background-exclude = [
  "window_type = 'dock'",
  "window_type = 'desktop'",
  "class_g = 'firefox' && argb",
  "window_type = 'popup_menu'",
  "_GTK_FRAME_EXTENTS@:c"
];

opacity-rule = [
	"90:class_g = 'Alacritty'",
	"90:class_g = 'discord'",
        "70:class_g = 'dolphin'",
 	"80:class_g = 'PrismLauncher'",
	"90:class_g = 'systemsettings'",
];
``
</details>

### Steps of reproduction
<!--
    Run picom and move windows around, you will notice fps has dropped since running picom.
 -->

1.
2.

### Expected behavior
fps remains the same without and with using picom
### Current Behavior
fps takes a hit when using picom






respectablenoob-source avatar Sep 12 '23 06:09 respectablenoob-source

do you have more info, what kind of performance hit? how did you measured it?

yshui avatar Jan 18 '24 18:01 yshui

do you have more info, what kind of performance hit? how did you measured it?

performance hit as in fps went from 144 to 100, i measured it with an fps counter and vsync tester and I can feel the hit in performance too.

respectablenoob-source avatar Jan 19 '24 19:01 respectablenoob-source

Can you try running picom on NVIDIA dGPU?

yshui avatar Jan 20 '24 01:01 yshui

Can you try running picom on NVIDIA dGPU?

works fine with nvidia, however I would like to run picom on igpu

respectablenoob-source avatar Jan 20 '24 01:01 respectablenoob-source

So you are trying to use a 5 years old integrated GPU to drive a 144 fps display? While it would be nice if picom can run smoothly on this setup (better performance is always good), I would say getting there isn't a priority right now.

yshui avatar Jan 20 '24 04:01 yshui

So you are trying to use a 5 years old integrated GPU to drive a 144 fps display? While it would be nice if picom can run smoothly on this setup (better performance is always good), I would say getting there isn't a priority right now.

I was just trying to replicate what's possible on Windows, didn't know so much goes into it.

respectablenoob-source avatar Feb 16 '24 11:02 respectablenoob-source

I have the same issue here but during games (I'm also too braindead to know how to make picom run on Nvidia dGPU)

I'm running on the xrender backend, and I have vsync enabled with unredir-if-possible=false

I tried killing picom to run the games, but doing so and starting the games i play just makes my entire system freeze (but I don't know if it comes from bspwm or picom directly)

AzhamProdLive avatar Apr 27 '24 12:04 AzhamProdLive