Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
respectablenoob-source opened this issue Sep 12, 2023 · 7 comments
Labels
performance Issue related to performance priority:low Likely won't be done without some volunteers taking the task

Comments

@respectablenoob-source
Copy link

respectablenoob-source commented Sep 12, 2023

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






@yshui yshui added the info requested The developers have requested additional information from the reporter label Jan 18, 2024
@yshui
Copy link
Owner

yshui commented Jan 18, 2024

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

@respectablenoob-source
Copy link
Author

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.

@yshui
Copy link
Owner

yshui commented Jan 20, 2024

Can you try running picom on NVIDIA dGPU?

@respectablenoob-source
Copy link
Author

Can you try running picom on NVIDIA dGPU?

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

@yshui yshui removed the info requested The developers have requested additional information from the reporter label Jan 20, 2024
@yshui
Copy link
Owner

yshui commented Jan 20, 2024

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 yshui added priority:low Likely won't be done without some volunteers taking the task performance Issue related to performance labels Jan 20, 2024
@respectablenoob-source
Copy link
Author

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.

@AzhamProdLive
Copy link

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Issue related to performance priority:low Likely won't be done without some volunteers taking the task
Projects
None yet
Development

No branches or pull requests

3 participants