Apple Mac User Best Practices suggestions?

Concern: Board slow. Edit: Solution for this bit here.

Symptoms: Loading up a lot more font packs to SD cards somehow made the board(s) slow down noticeably. This did NOT happen when this was done with a PC, Lenovo and a custom gaming pc used as comparables.

Device: Both MacBook Pros, one late 2017 other 2022 both on OSMonterey, one other mid-2022 MacBook Pro also on OS Monterey.

Considerations: I’ve seen similar before when loading map lists and routing onto the SD cards for Garmin units at work so I wondered, are “ghost files” still written to a Fat32 SD with fonts because, well Apple/MacOS?

Diagnostics and Approach Used: Ran sdtest in serial monitor after disabling (use 2 // before)#define DISABLE_DIAGNOSTIC_COMMANDS and switching to Arduino>Tools>USB Type>Serial+Mass Storage on the fully loaded up SD Card. Nothing abnormal, actually as mentioned in another thread these are decent, if unremarkably “average” but also not moderate or slow by any means. Checked w @profezzorn and got initial feedback and decided to delve a bit deeper. Hit up @Lord-Anubis who took a good look w a pc and yup, right there, ghost files. The board has to read not only through the font folders but also those files. So although they get ignored, if you have enough of them right alongside your font folder names it adds to what needs to be processed and is needlessly tying up processor speed. From there I asked @NoSloppy if there’s a means w Macs to remove these since for some reason I sort-of remember a solution used a ways back but for the life of me couldn’t remember the steps/etc. He walked me through the steps to get into Terminal and the commands and further steps (which I’ll let him reply with so they are listed correctly) done.

Results: Board now works MUCH faster. PC users do not seem to have this issue so I am going to keep testing the steps used on my other two boards as well as a pair of locally owned sabers w ProffieV2’s and will report back. Note, afterwards I also went back in, switched Arduino back to only Serial+WebUSB and the config to #define DISABLE_DIAGNOSTIC_COMMANDS and am going out to play with my fancy light-stick.

@Lord-Anubis and @NoSloppy Thanks for the help with this issue. Please chime in.

When I used your SD, the files are all duplicates with an extension of .wav and an underscore. All of them were 4kb.

We just deleted all the the hidden resource files MacOS puts on an external volume when it’s non-native format.

Open Terminal
MAKE SURE you are in the SD card root level in the command window before running the command below. To do so, type “cd” (without quotes), then leave a space, then drag the SDcard icon from the Desktop into the Terminal window to auto-complete the path, and hit return.
Type “ls -al” to get a list of all the files and font folders on the SD and to confirm you’re in the right directory. You should see a bunch of “duplicates” but the name starts with a dot.
sudo find . -type f -name '.*' -delete
hit return, then do ls -al again to confirm hidden files are gone.

All that said, I have no idea why this would affect performance, but it seems it does based on videos of before and after.
Before was like Waaaaaaay crazy lagged. upward of 3-4 seconds.

Yup on both things and the before video was only a mild example. The sabers that aren’t mine dragged way worse. I just flashed one of those too and it’s now as fast as mine is. Why the OS is like this, let alone the changes and frustrations with the newest OS needing different steps is why I asked for help.

4kb read speeds are super slow compared to larger files being read. Slows everything down trying to check them all before moving on to the larger files.

5.7-12MB/s ?! So put 90 font folders in there and you have 360kb being read at , if you’re lucky maybe 9-10MB/s and that would explain why the processor lags. You may as well be walking across a sticky floor versus being able to run.

Made that as a sharable to put in the config for easy access.

//Delete ALL files and folders from the SD Card, a How-To.

//Pull up your SD card and select all files you wish to back up and do so.
//Now select all files, select Move to Trash, and empty the trash fully.

//Reformat the card using SD Card Formatter.
//Copy and Paste the font files back into the SD.
//Leave the SD active on the desktop.
//Type Command-Shift-Period to reveal any ghost files.
//If files are present then follow these steps.
//Go into Terminal via Applications/Utilities/Terminal
//Type "cd" without quotes, then leave a space, then drag the SDcard icon from the Desktop into the Terminal window.
//This will auto-complete the path.
//Something like "cd /Volumes/PROFFIE"
//Type “ls -al” to get a list of all the files and folders on the SD and to confirm you’re in the right directory. You should see a bunch of “duplicates” but the name starts with a dot.
// type "sudo find . -type f -name '.*' -delete" to delete all hidden “dot” files from the SD card except maybe .fseventd, .Trashes and .Spotlight-V100. They’re fine to leave.
//Going forwards only use SD Card Formatter for Mac. Do Not use the native Apple formatter for Fat32.

I’d be interested in an edited video of before and after.

Go for it. I only have a cell phone and QuickTime. You know what happens and how to allow it to happen or intentionally induce it for repeatability. A properly done video demonstrating the before and after along with an included readout would be nice and I like your instructional videos since to me it amounts to online learning. Plus that way anyone else that’s on a Mac can see what is going on say compared to what doesn’t with a pc. The goal being to have things improve for the community as a whole.

Do you need to run this terminal line every time you plug the SD in?

The resource files only get generated when copying files to the FAT32 formatted SD from MacOS.

So only when initially formatting the SD and when or if you reformat it to run a clean font upload so you can remove the other junk Macs put in.

Following up as far as clearing out the ghost files. I’ve now ran this on 4 sabers and different Macs just to eliminate any possible machine issue and it did cause a positive change. I suggest others test to cross confirm. @NoSloppy and @Lord-Anubis thanks again.

I would see if it makes a difference, but I have never have lag to get rid of :man_shrugging:

In the cases I am working with it’s related to how many fonts there are on the sd, more than 40-50, and how much the bladestyles have involved in their code. How many fonts and styles are you running?

I am an exception to any rule, I;m sure.
Unless character specific thematic for a particular hilt, I just put my whole font collection (~12Gb) onto my SD cards and pack my configs to 99%.

Edit: Anyone else having anything odd w the new M1 driven Macs?

I just traded in for a new MacBook Pro running the M1 chip and couldn’t get things running initially and ended up needing to download the newest ArduinoIDE. Got a field assist from @Lord-Anubis and just now finally got it working clean.

*Bonus was I got DarkMode!

I’m using 1.8.19 with no issues on a 14" 2021 MBP.

Yup, v1.8.19 w 3.6 is the ticket. Thanks

I just recently got an Apple M1 14" laptop. Dropped my older Arduino & ProffieOS configs onto it, which had Arduino 1.8.15. Arduino did not work. I upgraded it to 1.8.19 and it works fine now.
(My M1 is using OSX 12.5).

1 Like