我在 iOS6 UIWebView 组件中遇到滚动性能不佳的问题。但是在 iOS5 中滚动确实很流畅。所以我在网上搜索了一下,发现了这个(iOS6 beta 更新日志的一部分)。
WebKit no longer always creates hardware-accelerated layers for elements with the -webkit-transform: preserve-3d option. Authors should stop using this option as a way to get hardware acceleration.
这可能是原因,因为我的应用程序显示的 html 站点使用了大量的 css3 转换。 请问有人有解决方案或建议如何强制 webview 切换回加速渲染模型吗?
最佳答案
除了已经提到的触发(或不触发)硬件加速的 CSS 属性的变化之外,我还注意到 iOS6 上的另一个变化在 iOS5 上没有持续存在(或者至少我之前没有真正注意到它) : 硬件加速元素和非加速元素之间的重叠会大大降低渲染和应用的速度。
如果加速元素和非加速元素之间有任何重叠,请确保为这些其他元素添加硬件加速,即使它们不是动画等,因为它们也会被重新渲染,这将完全压制或者在某些情况下恢复加速效果。
如果你想查看,我也写了一篇关于这个的短文: http://indiegamr.com/ios6-html-hardware-acceleration-changes-and-how-to-fix-them/
关于iOS6 UIwebView CSS3D 转换没有硬件加速,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529286/