MonitorControl: High CPU usage.
Activity Monitor shows Monitor Control using around 10% CPU time constantly.
I see this behavior with a Samsung SyncMaster 226BW. This monitor does not support querying settings:
$ ddcctl -d 1 -b ?
D: NSScreen #188788209 (1680x1050 0°) 90.00 DPI
I: found 1 external display
I: polling display 1's EDID
I: got edid.name: SyncMaster
I: got edid.serial: HSDP819382
D: action: b: ?
D: querying VCP control: #16 =?
E: No data after 10 tries!
E: DDC send command failed!
E: VCP control #16 (0x10) = current: 0, max: 0
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 4
- Comments: 32 (26 by maintainers)
Commits related to this issue
- Project upgrade, stability improvements, new features (#59) PR #59 with enhancements and fixes (Changes done by @JoniVR): - Code migration to **Swift 4.2** - **Fixed** the **MonitorControl scheme... — committed to MonitorControl/MonitorControl by JoniVR 5 years ago
- Add Advanced Preferences panel (#97) - Removed whitelist which caused some issues for some people #105 - Added `hide OSD` option to `AdvancedPrefsViewController` - Added `Longer Delay` option to `... — committed to MonitorControl/MonitorControl by JoniVR 5 years ago
v1.4.0 seems much better behaved indeed. There’s only mouse pointer stutter for a couple of seconds after starting MonitorControl. Ideally, applications shouldn’t cause any pointer stutter at all, of course, but this is already much better.
What’s weird is that I have just tried adding a test for
DDC.swift
, which succeeds 100 % of the time with 1 try.I like the idea of having an advanced tab in the settings because it may require tweaking for different display.
I know that I don’t have this problem at all on mine (Asus PB278QR) and values read correctly everytime.
Maybe we could use the system of whitelisted display to have default settings values for the ones we already know works.
Something like adding
case specificPollingMode(mode: PollingMode)
to our enumWhitelistReason
:Yes, I reverted the longer delay fix and added a whitelist for displays which need it, so the Samsung SyncMaster 226BW will have to be added to the whitelist probably.
Thanks for the heads up, @JoniVR!
Unfortunately, this is still an issue. I just tested with MonitorControl v1.5.0. After startup, MonitorControl’s CPU usage settles to around 2% and mouse pointer movement is jittery. After a while, CPU usage drops to 0% and pointer movement is smooth again. On closing and restarting MonitorControl, the same thing happens (pointer movement is jittery again initially).
Some more detailed observations:
Some questions that come to mind: