我很惊讶Safari是OS X中唯一能够(几乎)实现完美的惯性滚动的浏览器。
- 即使网站上有大量Flash内容,Safari的滚动也很流畅。
- 有许多网站要加载的内容,而Safari在加载和呈现内容时将继续平稳滚动。
- 安装多个扩展名不会影响滚动性能。
OS X上Safari浏览器的主要竞争对手是Chrome和Firefox。两者都无法像Safari中一样提供平滑的滚动效果:
- 在Google Chrome浏览器的所有页面上启用GPU合成等标记(
chrome://flags
)或...中的 - 在Firefox中流畅滚动(
Options > Advanced
)无法提供Safari默认提供的滚动性能。
题
Safari是否使用私有API来提供Chrome / Firefox开发人员无法访问的平滑滚动?Safari的滚动效果如何好得多,竞争对手也无法提供不间断的滚动。
我特别想知道Chrome,因为它通常可以非常快速地适应OS X的新功能。
1
我不同意。Firefox的滚动远远优于Safari的滚动(我在2011年中期的Macbook Air上为10.7.4):几乎总是60Hz平滑,而Safari总是“有点弯曲”。我倾向于仍然使用Safari,因为当两个手指向侧面滑动以向前或向后滑动时,缩放和“覆盖”效果很好。
—
史蒂文·卢
该死 自从您指出这一点以来,我就注意到Firefox现在撕裂了很多。它到处都在做。文本(如此站点上的文本)在连续的帧中不一致移动时会忽隐忽现。
—
史蒂文·卢
无论如何,Lion上的Safari与Apple的触摸输入设备(触摸板/魔术鼠标)结合在一起,可能是任何地方提供的最用户友好和最精美的呈现Web体验。它正确地应用了vsync,因此没有动画撕裂,而且我收紧了捏缩缩放和向左滚动到向后滚动的功能。有时会略微滚动打h,但我认为我们需要使用内部工具才能分析造成这些问题的原因。如果我曾经在苹果公司工作过,那我想继续做下去。
—
史蒂文·卢
哇,评论很多。我要添加另一个,因为这是推测,不是答案。。。忽略了Safari在Windows上可用的事实(为什么其他人都没有。),我认为这很简单,就是为Mac编写Safari,其他浏览器在一定程度上必须与多个平台共享代码库,从而很难在每个平台上都做到完美。
—
塞特
很难想象Safari 不会使用私有API:此类API的存在无非是为Apple软件提供功能。但这只是推测,我看不出有其他方法可以真正回答这个问题……
—
Dan J