Archive for December, 2016

App Tamer and CPU-hog detection

Friday, December 30th, 2016

So I’ve noticed in Sierra that some of its “helper processes” (apps that run in the background to do various tasks) will occasionally start using 100% CPU for no reason. In particular, I’ve seen the com.apple.appkit.xpc.openAndSavePanelService process stay pegged after a file dialog is done – it just sits there and consumes CPU while doing nothing. Quitting the app that was showing the file dialog will stop the CPU-hogging, but it otherwise continues indefinitely.

I’ve been wondering if this might actually be the source of the much-talked about Consumer Reports findings that the new MacBook Pros have very inconsistent battery life. Their results varied widely from test to test (on the same computer) – maybe one of the WebKit helper processes was just flipping out once in a while due to some underlying bug in Sierra’s interprocess communication or process management services.

While that’s just my own random speculation, the issue of processes running amok seems to be a recurring annoyance to some folks. To help you detect this sort of stuff, I’m adding an option in App Tamer to notify you if a process starts consuming excessive CPU time. If it does, it gives you the options shown in the screenshot.

 Can’t hurt, right? Shoot me an email (AppTamer at stclairsoft dot com) if you’re interested in trying it out and doing a little testing for me.
 – Jon

Developer Tip: Avoiding the Discrete GPU

Friday, December 16th, 2016

So I’ve run into this issue both as a user and as a developer – on MacBook Pros that have both a discrete and integrated GPU, fancy animations will cause the system to switch to the more powerful discrete GPU, reducing battery life. Chris Liscio wrote a great post explaining what’s going on and what to do about it (from a developer’s perspective). The key takeaway for most developers:

This whole problem can be very easy to solve. You just have to set NSSupportsAutomaticGraphicsSwitching key to YES in your application’s Info.plist. The trouble is that an OpenGL context is being created, which defaults to switching the dGPU on. Enabling this flag in the plist will very likely fix the problem on its own, as the frameworks should Do the Right Thing (more details below) if they need access to OpenGL.

Go read his whole post for all the details.

 

Default Folder X 5.1 delivers more power in Open & Save dialogs

Tuesday, December 13th, 2016

Default Folder 5.1 is now available, and includes a long list of changes. Key among them are new commands that let you copy, move, and make aliases to files and folders right in your file dialogs. Want to save a copy of that file to your Desktop folder before you make changes to it? Just use the Copy command in Default Folder X’s toolbar and choose the Desktop as its destination.

Default Folder X will now also mirror all of your favorite folders, recent folders and recent files using aliases in your Library folder. If you use another file management utility like Path Finder, Alfred, LaunchBar, etc for quick access to files and folders, you can connect it with your Default Folder X data by pointing it to these folders:

HOME/Library/Favorites/
HOME/Library/Recent Folders/
HOME/Library/Recent Files/

There are other convenient additions as well, like the ability to change the creation and modification dates of files and folders, and Command-selecting an item from a Default Folder X menu to reveal it in the Finder.

And as usual, there are also compatibility improvements and bug fixes – quite a lot of them this time. While Default Folder X has been performing very well for nearly everyone, the automated crash logs have uncovered a handful of infrequent but persistent problems. I’ve done a lot of stress-testing and debugging to ferret them out, making this release more reliable – and thereby less annoying for both you and me 🙂

For a complete list of changes, bug fixes and download links, check out the Default Folder X Release page!