MacOS – Mavericks: how to disable responsive scroll

macosscrolling

Responsive scrolling is causing a lot of issues for me. It's nice when it works, but it's lagging a lot sometimes, especially in Chrome.

Anyone found out a way to disable responsive scrolling and make scrolling behave like in 10.8? Either globally or per-app.

During the "Optimizing Drawing and Scrolling on OS X" WWDC video, the Apple Engineer uses what looks like an AppleScript file to disable responsive scrolling globally, so it is possible, but I can't figure out how.

Best Answer

Firstly I am posting this as possible helpful info rather than a solution. Which may get some one in the right direction.


I found this in the What's New in OSX which goes into explaining what and how Responsive Scrolling works.

At the bottom there is also a note saying how to disable it per app for testing purposes.

But I do not see this option in my own built apps or any others.

Responsive Scrolling

Responsive scrolling is an AppKit enhancement that makes scrolling smoother. This involves two significant changes to the way your app draws content:

Scroll views ask their child views to draw extra content outside their normal view area so that the content can be immediately made available for scrolling purposes. This additional window backing is stored in purgeable memory to minimize additional paging. The scrolling thread attempts to redraw the view at 60 frames per second, but it backs off if the app is unable to keep up. Scrolling events are processed on a background thread. Most apps automatically receive this responsive scrolling behavior. However, some views must explicitly opt in, including layer-backed views, custom scroll view or clip view subclasses that override drawRect:, NSSurface-based document views, transparent document views, and document views that override the lockFocus method.

For views in which responsive scrolling is automatically enabled, the behavior change should be entirely transparent to you as a developer. However, if your app exhibits any unusual behavior while scrolling, please file bugs.

Note: You can temporarily disable responsive scrolling for testing purposes by choosing File > Get Info on your app in Finder. After changing the setting, you must quit and relaunch your app. For more details, see AppKit Release Notes for OS X v10.9.

I had a look at the appkit release notes -Responsive Scrolling which goes into more detail.

There are conditions which should stop Responsive Scrolling being assigned to an App. One of them is:

The application links on 10.7 or prior (the application must link on Mountain Lion or higher to support this feature)

Which I take to mean if the App is built to also run on 10.6 then it will not have this feature added.

Chrome AFAIK will run on 10.6 upwards. But I suspect the downloader is downloading a version for you current system.

Possibly a version built for 10.6 only would disable it in Chrome.


UPDATE* But as bogdansrc points out in the comments. There is no single build for 10.6


I did try:

defaults write ~/Library/Preferences/com.google.Chrome isCompatibleWithResponsiveScrolling -bool NO

But the isCompatibleWithResponsiveScrolling is for a nsview sub class and I do not really expect it to work. I also am not getting this problem so I cannot tell.