Supersluggish 3.202 #1378

  • Same results on

    • macOS Catalina (latest beta) on iMac Pro (2018)
    • macOS Mojave (latest) on an old Macbook Pro 15" (2012)
  • Video shows example of trying to scroll up and down with the touchpad, with btt, after btt quit, and ~10 seconds after btt quit

Note: Before bug reporting, please make sure you have tried the latest (alpha) version of BetterTouchTool and that you have already tried to restart your system :-). If you encounter a crash, please attach a crash log from the macOS Console.app from the "User Diagnostic Reports" section.

  • Initially I found this just after remapping cmd+scroll-up-with-mouse-wheel (and scroll-down) to cmd+> and cmd+< to zoom in and out with the mouse
  • I thought this was the reason, so I deleted the mapping, restarted btt (i have to do that apprx every half hour on Catalina anyways!), then tried booting, nothing, same result.
  • Quitting btt fixed it
  • Then I figured I have to test this on my MBP, and same results

If you need more for debugging, please advise

do you sync your presets between machines? This is definitely not normal behavior :slight_smile: (in general the 3.2xx versions seem to be pretty stable)

(sorry for late reply!)

Yes! I'm syncing between machines, and I know I should be expecting trouble -
both because one is 10.14 and the other 10.15b, but also because of the btt warning for sync.

  • some of my automations are now read-only, like "show notes instead...:" - when I click to enable, it reverts to disabled automatically

  • unstability, have to restart btt many times daily, but I assumed was b/c catalina beta, but should be stable now?

  • tips for how to "repair" my config?

(btw; is stabilizing sync up on the priority list? how about sync settings via icloud instead of via dropbox? or do you need to run inside mas sandbox for that to happen?)

I have the exact same problem. On the current MacOs Version as well as on Mojave.

I'm not syncing anything.
I use the GoldenChaos preset though and also my custom rules for the Apple Trackpad.
The problem gets much worse when using the priority helper tool.
Restarting BTT always helps ... for about 30 minutes.

Please advice me what to do since my trial expires this weekend and I'm unsure how to proceed. Anything you need to analyze the problem let me know.

If you are not syncing the most likely reason is that some of your custom Touch Bar scripts have a too high repeat rate. What kind of custom scripts are you using?

@haakonstorm sounds like something got corrupted which might also explain why the sync goes crazy. I'd try to export your presets as JSON, then maybe completely reset BTT by deleting all btt_data_store files from ~/Library/Application Support/BetterTouchTool (while BTT is quit) - afterwards importing the JSON again should result in a clean database.

I'm not using any custom scripts. All I did was add custom gestures for the Magic Trackpad.

The other preset I'm using is GoldenChaos-BT 3.186. I did not change it either.

Is there a way to see what script is using CPU resources? Also the problem gets worse the longer BTT runs. So it looks more like some kind of memory leak. Even though the Activity Monitor does not show anything suspicious - it actually took quite a while for me to figure out BTT was the reason for the observed sluggishness.

unfortunately that’s hard to debug. Possibly create a process sample via Activity Monitor (while the problem occurs) and send it to andreas@folivora.ai

Otherwise I’d try to start with an empty preset and add stuff as needed. I haven’t used the GoldenChaos preset for longer periods myself, but I think many other people are using it.

@haakonstorm sounds like something got corrupted which might also explain why the sync goes crazy. I'd try to export your presets as JSON, then maybe completely reset BTT by deleting all btt_data_store files from ~/Library/Application Support/BetterTouchTool (while BTT is quit) - afterwards importing the JSON again should result in a clean database.

Awesome, thanks! I'll try this and get back to you if it doesn't solve the issues.

After disabling GoldenChaos my Mac performance is much better. Who would have thought? Thanks for the advice.

  1. I have exported my preset, then deleted all btt_data_store files with btt quit, then imported everything again. I got an error message when importing (don't remember what exactly, unfortunately), but I still get problems with BTT getting really sluggish. The problems seems related to the GUI. I can keep using BTT after a relaunch for as long as I like, doesnt seem to impact general system performance. Once I start navigating the BTT UI, it cumulatively gets more and more slow, until I have to relaunch the app again.

  2. I have to say this might have to do with "Copied.app", which I know for a fact either has problems only on my two macs or in general. The app (suite: on both macos and ios) is brilliant, but seems abandoned by the developer. My issues with Copied is multiple items are added whenever I use cmd+c or contextual "copy". I have tried creating a new user on this particular mac and installed Copied, but got same results. Deinstalled all instances of Copied and reinstalled, same results. Tried on my GFs mac: same results.
    I've also tried booting in Safe mode without any Copied running -> apparently same results.

  3. I think my particular setup (even the one exported/reimported) has issues.

  4. Perhaps an option is for me to send you my partiuclar setup for analysis, in case you have some sort of clever dev-only tool that can take a look at my particular setup?

  5. Is the BTT (file) format documented somehow? I want to create a parser so that I can write my setup in plain-text and then import it to BTT. I have too many suggestions for how to improve the BTT interface I realize I better shut up and just create it that way myself ;-).

  6. Or is BTT scriptable somehow in this regard to enable creating new automations from outside BTT itself? Interfacing with BTT would be even better than working with BTTs raw config directly.

It would definitely help if you'd send me the debug info (Help => Export Diagnostic Debug Information) (andreas@folivora.ai). It definitely shouldn't slow down or become sluggish when using the UI, so the logs and config would be very helpful for me. So far most users that reported this had dropbox sync enabled.

The BTT file format is just JSON, however the keys in it are not documented and just used inside of BTT. New keys are added all the time and I don't plan to have them all documented because it doesn't have many use cases outside of BTT :slight_smile:
There are however some great libraries that work with it like https://github.com/Worie/btt

You can however always copy / paste existing trigger/actions in BTT to see how they look like in JSON. The format will always be backwards compatible, so what works now will also work in case the format changes in the future.

BTT is scriptable, but that's also based on the JSON. http://docs.bettertouchtool.net/docs/1102_apple_script.html