小牛:如何禁用响应式滚动


10

响应式滚动给我带来了很多问题。它工作时很好,但有时会滞后很多,尤其是在Chrome中。

是否有人找到一种禁用响应式滚动并使滚动行为类似于10.8的方法?全局或按应用。

在“优化OS X上的绘图和滚动”的WWDC视频中,Apple工程师使用看起来像AppleScript文件的文件来全局禁用响应式滚动,因此可以,但我不知道如何做到。


1
在2009款MacBook上,“响应式”滚动对我来说绝对是可怕的。我在Mountain Lion上具有出色的滚动性能,但是现在滚动非常不稳定,以至于无法滚动查看要查看的内容。真令人沮丧。
OregonTrail 2013年

这完美地描述了我遇到的问题...就其价值而言,我使用的是2012年款MacBook Pro。
bogdansrc

@bogdansrc就Chrome而言,尝试将其删除然后重新安装?
西蒙(Simon)

@Simon是的,尝试过。这也是在新安装的Mavericks上。
bogdansrc

Answers:


4

首先,我将其发布为可能有用的信息,而不是解决方案。可能会在正确的方向取得成功。


在OSX的新增功能中发现了这一点,该功能解释了响应式滚动的功能以及工作原理。

底部还有一条注释,说明如何出于测试目的针对每个应用程序禁用它。

但是我在自己的内置应用程序或其他任何应用程序中都看不到此选项。

响应滚动

响应式滚动是AppKit的增强功能,可使滚动更流畅。这涉及到应用程序绘制内容的方式的两项重大更改:

滚动视图要求其子视图在其常规视图区域之外绘制其他内容,以便可以立即将内容用于滚动目的。此额外的窗口后备存储在可清除的内存中,以最大程度地减少额外的分页。滚动线程尝试以每秒60帧的速度重新绘制视图,但是如果应用程序无法跟上,它将退出。滚动事件在后台线程上处理。大多数应用会自动收到这种响应式滚动行为。但是,某些视图必须显式选择加入,包括层支持的视图,覆盖drawRect:的自定义滚动视图或剪辑视图子类,基于NSSurface的文档视图,透明文档视图以及覆盖lockFocus方法的文档视图。

对于自动启用响应滚动的视图,行为更改对于您作为开发人员应该是完全透明的。但是,如果您的应用在滚动时出现任何异常行为,请提交错误。

注意:您可以通过在Finder中选择应用程序上的文件>获取信息来暂时禁用响应式滚动以进行测试。更改设置后,您必须退出并重新启动应用程序。有关更多详细信息,请参阅OS X v10.9的AppKit发行说明。

我看了一下appkit发行说明-Responsive Scrolling,其中有更详细的介绍。

在某些情况下,应停止将响应式滚动分配给应用程序。其中之一是:

该应用程序在10.7或更早版本上链接(该应用程序必须在Mountain Lion或更高版本上链接以支持此功能)

我要说的是,如果该应用程序还可以在10.6上运行,则不会添加此功能。

Chrome AFAIK将在10.6以上版本上运行。但是我怀疑下载器正在为您当前的系统下载一个版本。

可能仅为10.6构建的版本会在Chrome中禁用它。


更新*但正如bogdansrc在评论中指出的那样。没有10.6的单个版本


我确实尝试过:

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

但是isCompatibleWithResponsiveScrolling是用于nsview子类的,我并不真正希望它能工作。我也没有遇到这个问题,所以我无法分辨。


这看起来像是一个有趣的hack
New Alexandria

“在10.6上工作=>没有响应滚动”的假设是错误的。这是关于应用程序链接到哪个SDK的信息。您可以使用针对10.9 SDK的应用程序链接,并可以在10.6上正常工作。据我所知,一般的方法是链接到最新的SDK,因此Chrome很可能会这样做。如果没有,它将没有响应滚动。根据您所运行的OS X版本,没有多个版本的Chrome。真傻
bogdansrc

我基本上要说的是从苹果笔记中正确理解或解释的是,如果基本sdk是10.6,并且未链接到任何以上内容,那么据我所知,该应用将没有RS。您可以从一个很好的开始开始,但是会因侮辱“ Thats silly”而被宠坏了。一个简单的“没有Chrome仅10.6”就足够了。我在想什么
-markhunte

4

更新(在致电Apple Care后的2013年7月11日):

我还需要:

1)重置PRAM(关闭后,按住CMD + ALT + P + R直至第二锣打开),如何在您的Mac上:https : //support.apple.com/kb/ht1379

2)重置SMC(关闭后,按住SHIFT + CTRL + ALT(选项)+电源打开)如何在Mac上:https : //support.apple.com/kb/HT3964

下面的设置应该是:具有惯性


它可能不是永久性的解决方案,但是与系统重新启动相比,它是快速而舒适的hack。

它为我工作。抱歉,屏幕截图是波兰语。无论如何,由于图像/图标,您应该对其进行管理。

首先从系统偏好设置中打开辅助功能

在此处输入图片说明

然后在触摸板/鼠标设置中,单击触摸板按钮

在此处输入图片说明

然后玩/不玩惯性。

在此处输入图片说明


我认为自适应滚动与惯性滚动有所不同...
DanHickstein

1
@DanHickstein,这是一种解决方法。
andilabs

嗯,我认为响应式滚动是使滚动以60 fps的速度工作的新事物,如下所述:developer.apple.com/library/mac/releasenotes/MacOSX/… 我不确定与它有什么关系惯性滚动。
DanHickstein

也许不会。但是我和很少的用户认为,使用interial可以摆脱Chrome浏览器中的问题。
andilabs

2
禁用惯性滚动对我来说不是一种选择(我讨厌非惯性滚动)。同样,响应式滚动与惯性滚动无关。无论是否具有惯性,您仍将获得响应式滚动。
bogdansrc

1

我在推特上问约翰·西拉库萨(John Siracusa):

https://twitter.com/siracusa/status/394988398009925632632

@siracusa yu fnd有办法消除特立独行的“响应式滚动”吗?感觉很奇怪

他的回答很简洁:

https://twitter.com/siracusa/status/394988398009925632632

@davidmarsh号

我想这并不意味着您不能禁用它,只是约翰不知道将其关闭的方法。


2
如果约翰·西拉库萨(John Siracusa)不知道该怎么做,那很有可能是不可能的。arstechnica.com/apple/2013/10/os-x-10-9

1
Apple工程师在“在OS X上优化绘图和滚动” WWDC会话中使用了看起来像AppleScript的工具。该视频可在developer.apple.com/wwdc/videos上获得。这并不意味着在最新版本的Mavericks中仍然可行。
bogdansrc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.