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

Speed of ddccontrol #69

Open
ThomasSeeker opened this issue Jan 20, 2019 · 9 comments
Open

Speed of ddccontrol #69

ThomasSeeker opened this issue Jan 20, 2019 · 9 comments

Comments

@ThomasSeeker
Copy link

Hello there!

First of all, thank you very much for this wonderful little tool! :-)

I have a question about the speed.
I have version 0.4.4 running, but the speed is quite low (1sec).
Especially compared to the gddccontrol I tried with version 0.4.2. ... there the reaction time of the monitor when moving a slider was more or less instantaneous.

(BTW, with version 0.4.4 gddccontrol is not working here anymore.)

Is there something I can do to improve the speed?

$ time ddccontrol -r 0x10 -w 70 dev:/dev/i2c-2 -v
ddccontrol version 0.4.4
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

ddcpci initing...
Starting /usr/bin/ddcpci 1 1225874189 &...
Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-2...
Serial number: 14747457653
Manufactured: Week 12, 2015
EDID version: 1.3
Maximum size: 53 x 30 (cm)
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/ACR0216.xml"
Document not parsed successfully.
Control colortemp has been discarded by the caps string.
Control hsize has been discarded by the caps string.
Control vsize has been discarded by the caps string.
Control hpincushion has been discarded by the caps string.
Control hpincushionbalance has been discarded by the caps string.
Control vlinearity has been discarded by the caps string.
Control vlinearitybalance has been discarded by the caps string.
Control hmisconvergence has been discarded by the caps string.
Control vmisconvergence has been discarded by the caps string.
Control keybalance has been discarded by the caps string.
Control key has been discarded by the caps string.
Control tdistortionctrl has been discarded by the caps string.
Control tdistortionbalance has been discarded by the caps string.
Control bdistortionctrl has been discarded by the caps string.
Control bdistortionbalance has been discarded by the caps string.
Control tilt has been discarded by the caps string.
Control hmoire has been discarded by the caps string.
Control vmoire has been discarded by the caps string.
Control focus has been discarded by the caps string.
Control settings has been discarded by the caps string.
Control audiospeakervolume has been discarded by the caps string.
Control degauss has been discarded by the caps string.
Control osdorientation has been discarded by the caps string.
Control power has been discarded by the caps string.

EDID readings:
        Plug and Play ID:  [(null)]
        Input type: Digital
=============================== WARNING ===============================
Please update ddccontrol-db, or, if you are already using the latest
version, please send the output of the following command to
ddccontrol-users@lists.sourceforge.net:

LANG= LC_ALL= ddccontrol -p -c -d

Thank you.
=============================== WARNING ===============================

Writing 0x10, 0x46(70)...
Control 0x10: +/70/100   [???]
ddcpci being released...
==>ddcpci is quitting.

real    0m1.022s
user    0m0.012s
sys     0m0.294s
@hamster65
Copy link

I'd like to implement an adaptive brightness control for my screen with this, with an external arduino based sensor. But it is indeed way too slow for smooth regulation.

This one is way faster:
https://github.com/Informatic/python-ddcci

@kravemir
Copy link
Contributor

kravemir commented Sep 4, 2020

@ThomasSeeker and @hamster65 sorry for the late response!

To improve the speed of ddccontrol, you can use the latest development version using the master branch. See "Installation from sources" in README.

The unreleased version contains implementation of daemon, which gets initialized once, and then can react to new commands quickly. As, each invocation of ddccontrol without daemon needs to initialize first, and then performs the command. It should work out of the box, after installing the development version from master branch.

However, I had been doing working on this in my own free time,... and, I've got quite demotivated to continue working on the daemon, and contributing to this project, partially because of comments made in issues #5 and #25 by the user called cheater.

But, to be perfectly honest. My political and philosophical view doesn't align with GNU/GPL philosophy, anymore. This GNU/GPL license has got a viral aspect, which requires to open-source all derivative works,... and, if I was about to put an effort into something, then I would like to put it into SW, which can be beneficial for the whole world, and that includes non-profit and proprietary uses. So, my contributions can be also utilized in proprietary projects, e.g. Acer, Aoc, Phillips, LG, Samsung, etc making their own proprietary tool/GUI for their monitors on top of my work. Now, I'm interested only in contribution to projects with a permissive license.

@ThomasSeeker
Copy link
Author

Ah, thank you @kravemir for the improved speed! ... I will test it with my next system-upgrade.

And thank you very much for your work. I use ddccontrol regularly and it is just a wonderful little tool! I wouldn't want to miss it anymore! :-)

Concern your conflict with this other guy. I read into it, but I lack the knowledge to decide. I guess he just wants to help. Just an idea: Maybe you can ask in some forum, whether or not the guy has a valid point?

@kravemir
Copy link
Contributor

kravemir commented Sep 9, 2020

Ah, thank you @kravemir for the improved speed! ... I will test it with my next system-upgrade.

And thank you very much for your work. I use ddccontrol regularly and it is just a wonderful little tool! I wouldn't want to miss it anymore! :-)

Appreciated :-) ... though, I have different priorities now, where I put my free time. So, I won't contribute again for some time. The most likely, I would just have rewritten it from a scratch using golang, and with a better design of model and API, and licensed it with non-viral license, e.g. MIT/Apache/BSD/...

Concern your conflict with this other guy. I read into it, but I lack the knowledge to decide. I guess he just wants to help. Just an idea: Maybe you can ask in some forum, whether or not the guy has a valid point?

Yes, he did have a valid point, but an inappropriate attitude - just criticism, and not contributing any design to secure the daemon, or any code/implementation improving these concerns. And, my reaction wasn't appropriate either, as I was quite attached to the work I've done there in my own free time, and went a bit defensive.

Maybe, @cheater himself can do some real work, and do actually lead and do implementation of some solution, instead of just pointing on shortcomings.

@cheater
Copy link

cheater commented Sep 9, 2020

sorry @kravemir if you're trying to recruit commits by hate-tagging people more than 2 years after they reported some bugs and requested features (none of which have been touched at all) then that's the wrong strategy to achieve your goal and also I don't even own a laptop or use linux any more

@kravemir
Copy link
Contributor

kravemir commented Sep 9, 2020

sorry @kravemir if you're trying to recruit commits by hate-tagging people more than 2 years after they reported some bugs and requested features (none of which have been touched at all) then that's the wrong strategy to achieve your goal and also I don't even own a laptop or use linux any more

@cheater Not at all, I didn't mean this as hate, but as a reflection of my personal motivation and interest into this work, and how can someone's comments affect this. I have mentioned my wrong attitude the same as yours wrong attitude.

You should think, how you phrase your criticism of others work. When you just criticize someone for their effort to improve opensource project, it can discourage people from caring and wanting to contribute.

And, I have decided to stop being a maintainer. I would love to see someone contributing to this. However. Recruitment, or not,... You seemed to be interested in the project, and I was just wondering, whether your interest was to contribute and help, or just a passive opensource consumerism, or did you then just felt the need to criticize something? So, what was it then? What was your intention with these comments?

I wish I have had taken the criticism differently then, and asked you for design of good solution as a first step in the conversation.

@cheater
Copy link

cheater commented Sep 9, 2020 via email

@hamster65
Copy link

Thanks! I'll try it out.

@karanimaan
Copy link

To improve the speed of ddccontrol, you can use the latest development version using the master branch. See "Installation from sources" in README.

The unreleased version contains implementation of daemon, which gets initialized once, and then can react to new commands quickly. As, each invocation of ddccontrol without daemon needs to initialize first, and then performs the command. It should work out of the box, after installing the development version from master branch.

Hi there. Has this been implemented in the latest release? I'm using version 0.6.0, and it's still slow.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants