-
Notifications
You must be signed in to change notification settings - Fork 44
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
ddcutil 2 slow on Acer XB271HU #453
Comments
ddcutil --version shows 2.1.4. Distro is Debian Testing. |
I'm not sure what to make of your data. It certainly suggests there's a problem with dynamic sleep. The sleep time on the first example is approximately 5 times that on the next 2, implying that the first example executed with a sleep-multiplier of 1.0 . Examples 2 vs 3 shows essentially identical stacks with or without --noverify, which suggests that --noverify has been set implicltly. Is there a ddcutilrc configuration file? what ae its contents? The full --stats output should show whether I2C retries are affecting performance. Using option --vstats adds stats on dynamic sleep. If the cause of the excessing elapsed time does not become apparent, please run your examples with --vstats and submit the output. |
There's no ~/ddc*, ~/.ddc* or ~/.config/ddc* - anywhere else I should check? Without --skip-ddc-checks there are lots of reported failures and retries, but, it always seems to adjust brightness successfully. With --skip-ddc-checks there are no reported retries, I would guess this might be expected, since it's doing less checking. Again, brightness changes as expected. This feels possibly like the checks themselves are unreliable with my monitor, but the command works first time?
|
The normal location for ddcutil config file is $HOME/.config/ddcutil/ddcutilrc. It's not so much that the checks themselves are seem unreliable with your monitor, its that they entail several DDC/CI operations, and you're using an aggressive sleep-multiplier and your elapsed time is bloated because of all the retries. Ideally, you want a sleep-multiplier value large enough that there are few retries. Otherwise, the time saved with shortened sleep times is exceeded by that lost to retries. I suggest that you use options --disable-dynamic sleep --skip-ddc-checks and use the stats output to pick an optimal sleep-multiplier, which I expect will be much closer to 1.0 than .2. |
Thanks - in that case I don't have a ddcutilrc file. I don't know how to use --stats to determine the optimal multiplier. It's definitely a lot lower than 1 though:
Dynamic sleep makes things much slower. And I consistently see speedup going as low as 0.05, with or without it. |
Hi, first, thanks for ddcutil, it's a real time saver for me!
A recent system update, probably ddcutil going to v 2, has made an existing scripted command very slow. Previously, this was < 1s, now > 3s. Following some debugging advice in #110, I suspect related to dynamic sleep.
Abbreviated output showing some timing info:
Changing brightness seems very reliable with any of the above calls, I've not noticed it ever failing. This monitor has dubious DDC support, you must first put it in factory mode with the physical controls. So, don't feel you have to support it! If you'd like to try, please let me know if you want any additional info. If you just want to close this, that's fine by me.
I am an experienced C dev and should be able to do local builds of branches etc, if that's helpful.
The text was updated successfully, but these errors were encountered: