Live data from Hacker News

Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

twitter.com

121–130 of 145 posts

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#121
post #63

Earlier quoted context omitted.

I wish someone did an analysis to determine why my intel-based macbook is so incredibly laggy all the time, even after fresh system installation. I can't shake the feeling that Apple Silicon is so much faster that performance issues just got into the system without anyone at Apple bothering to fix them, and Intel macs suffer as a result.

It's overheating and the (my) problems came from: - loading the battery and powering the device - high gpu power usage when plugging in a external monitor - cpu power usage - bad cooling which must be cleaned often My recommendations: Plug in the power from the right side. Afaik the thermal throttling kicks in sooner if you have it plugged in on the left. Clean the device. Unfortunately it really sucks to open it. Yo…

Thanks for the suggestions, this all sounds plausible, however: - I routinely clean, or at least de-dust everything accessible after removing back cover - the lag is there always, even right after resuming the mac, before any thermal throttling should be kicking in. I also don't observe throttling with `pmset -g thermlog` - I'm not using an external monitor

At this point the most likely culprit is the battery, mine is at 789 cycles although the condition is reported as "normal". I wish it were possible to confirm whether battery is an issue before spending couple hundred $ on replacement though

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#122
post #63

Earlier quoted context omitted.

I wish someone did an analysis to determine why my intel-based macbook is so incredibly laggy all the time, even after fresh system installation. I can't shake the feeling that Apple Silicon is so much faster that performance issues just got into the system without anyone at Apple bothering to fix them, and Intel macs suffer as a result.

My wife’s Intel-based laptop got considerably slower in the last year or so. I tried everything I could but nothing seemed to return it to its original performance. Then she got a warning that the battery needed servicing. After getting it replaced (and the Apple employee warning us several times that it might not help performance), the laptop was back to its previous state. My theory is that the battery running warm…

Interesting, how old was it? Do you recall how many cycles the battery was at? Unfortunately throttling is unlikely in my case, at least for the lagging I observe day-to-day, I don't see any throttling via `pmset -g thermlog`. I did wonder if changing thermal paste would help, but since I don't observe throttling I'm not sure it would

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#123

Can't reproduce this on macOS Ventura 13.6 on a Mac Studio.

Me neither, M1 MacBook Pro with Ventura 13.6, Control center is only 0.1% CPU.

After switching to M1 I haven't looked at Activity Monitor for a long time, as CPU was never my issue. I just realized Microsoft Outlook uses 43% CPU, very astonishing given just one exchange email account is in there.

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#124

Earlier quoted context omitted.

Monitoring Wi-Fi signals is, afaik, something that happens on the Wi-Fi chip itself, not the CPU. While you’re correct that nothing stays truly idle, the modern design is that the main CPU really does stay largely idle because of the power costs involved and instead dedicated microprocessors absorb the load when possible.

Sure, but most modern OSes would inform the user when the WiFi connection dies - so there's something happening on the CPU too.

On a state change, sure. But you're not frequently gaining & losing WiFi access.

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#125
post #56

I am currently at war with google docs and notion re: memory usage. gmail takes something like half a gigabyte of memory. I had a notion database where each time it loaded an additional 25 rows, memory use went up 400MB. It only got up to 200-300 rows total before it died. I gave up Sublime because of memory usage, but the alternatives aren't much better. I'm getting ready to trade in my 8gb Mac for 24gb to help with…

For the gmail issue, I feel like I might as well plug http://mimestream.com , a gmail client that is a pleasure to use & efficient.

Might have considered it, but saw the subscription-only pricing and left.

General unsolicited advice to desktop application vendors: unless you have the market size and monopoly of Adobe, Microsoft etc, go with one off pricing.

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#126
post #7

What does "even though there is no UI visible" mean?

Control Center is an overlay that is only shown when the appropriate icon in the menu bar is clicked. https://support.apple.com/guide/mac-help/mchl50f94f8f/13.0/m...

Control center is responsible for drawing a bunch of the ui on the top right of the menu bar, things like the clock (many comments here seem to be saying this is related to showing seconds), Wi-Fi, sound settings, etc.

It also shows the annoying overlay bit when you accidentally open it :D

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#127
post #20
post #15

Is Swift UI the problem here? Sounds like the compositor or equivalence isn't doing its job

The compositor doesn't render, Swift UI does.

I assume the window manager/compositor should not've asked for that buffer in the first place.

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#128
post #56

I am currently at war with google docs and notion re: memory usage. gmail takes something like half a gigabyte of memory. I had a notion database where each time it loaded an additional 25 rows, memory use went up 400MB. It only got up to 200-300 rows total before it died. I gave up Sublime because of memory usage, but the alternatives aren't much better. I'm getting ready to trade in my 8gb Mac for 24gb to help with…

TLDR; do not trust Activity Monitor.

> I gave up Sublime because of memory usage

Isn't this just because of GPU-mapped memory/textures? Because you can't get much better with any other app, for example text-rendering is not a solved problem yet, there are few nice tricks but they always come with some tradeoff so if you want to support non-english scripts, you usually just go with glyph atlas which needs to include 1:1 glyph-size (retina is big) + up to 3 extra variations because of kerning for each used glyph. System apps do not report this if they are using cocoa but a similar overhead is still there.

Or because of the emoji font, which alone takes 200M!!! And if your app opens it (just to support emojis, not necessarily to draw them), it gets reported as its own memory even when it's usually mmapped and shared between processes (and might not even be loaded in the memory).

What kind of memory usage are we talking about? And how did you measure?

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#129
post #126

Earlier quoted context omitted.

Control Center is an overlay that is only shown when the appropriate icon in the menu bar is clicked. https://support.apple.com/guide/mac-help/mchl50f94f8f/13.0/m...

Control center is responsible for drawing a bunch of the ui on the top right of the menu bar, things like the clock (many comments here seem to be saying this is related to showing seconds), Wi-Fi, sound settings, etc. It also shows the annoying overlay bit when you accidentally open it :D

Indeed! When "Display the time with seconds" is enabled for the menu bar clock, Control Center sits at 0.8% CPU activity instead of 0.0% on my Mac.

Re: Control Center on macOS is always re-rendering its SwiftUI causing 1% CPU load

#130
post #37

Earlier quoted context omitted.

I never had this issue when running the Apple Silicon Microsoft Teams version. It actually was quite good, contrary to what most would say. But after receiving the push update converting Team to using the Electron version of the app, CPU load dramatically increased. Wish I could convert back to the older Apple Silicon non-Electron version.

They’ve all been electron based. The only meaningful change was the arm64 builds that came out last year.

I just wish people would stop blaming Electron for everything.

Teams isn’t a buggier, worse performer than VSCode or Slack because of Electron.

Post reply on HN