sim-daltonism icon indicating copy to clipboard operation
sim-daltonism copied to clipboard

Apple Silicon Support

Open kurisubrooks opened this issue 2 years ago • 3 comments

Hello! First I wanted to start off by saying how indispensable this app has become to my design workflow for work. I'm truly grateful for this app to allow me to improve my own designs and ensure colour schemes are accessible to people with varying types of colourblindness.

The current Intel build uses between 35%-40% CPU when the window is active, due to the real-time translation through Rosetta, so I was hoping that by recompiling for Apple Silicon/M1, we'd be able to see this number go down dramatically.

That said, the app is perfectly usable through Rosetta 2, albeit the preview does turn white when you move or resize the window, but this is a very minor issue.

Please let me know if there's anything I can do to help. Even if you don't have an M1 machine, I believe you still should be able to create an ARM64 build through the latest versions of Xcode.

kurisubrooks avatar Oct 27 '21 00:10 kurisubrooks

I doubt Rosetta is slowing it down in a measurable way, but you're right there should be a native ARM64 build.

CPU usage can be misleading on the M1 because it has two kinds of CPU cores. If it's taking 40% of a single "efficiency" core (out of four in the M1), and zero "performance" core (out of four), that doesn't sound too bad.

michelf avatar Oct 27 '21 23:10 michelf

The performance hit definitely isn't noticeable, but in the CPU graph I keep in my menu bar, it is quite a jump over a natively compiled app.

While this really isn't a big issue, I'd really appreciate it if there could be a native ARM64 build in the future 👍🏻

kurisubrooks avatar Oct 27 '21 23:10 kurisubrooks

ARM64 is part of the latest merge, if you want it, but it doesn't affect performance.CPU use scales with image size. On an M1 Mini on a 1080p rect, CPU utilization is <5%, 10%, and ~30% on slow, medium, fast capture rates. There's probably some more opportunities to balance frame-rate and resource use. The bulk of per-frame processing time is CPU-side because the only relevant API is CoreGraphics.

importRyan avatar Nov 01 '21 23:11 importRyan