41

因此,Android 中的 WebView 硬件加速存在一个已知错误,请参见此处,例如:https ://code.google.com/p/android/issues/detail?id=17352

禁用硬件加速对我来说不是一个选项。

我读过这些很棒的参考资料:

我的问题是,如果打开了 HWA(硬件加速),是否有人知道任何 CSS/HTML 变通方法来防止可能发生的渲染伪影?

我只在将焦点放在表单字段上时才看到它们,这似乎会导致垂直同步和亚像素故障。当我专注于该领域时,整个页面似乎都在抖动。

这似乎position: absolute也与此有关。

有没有人有解决这个问题的经验?

4

3 回答 3

1

添加:

-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
backface-visibility: hidden;
perspective: 1000;

如果您使用 3d 变换.. 这是一个便宜的技巧,但它会提高 iPad 上的性能 espacially..

此外,您可以尝试

-webkit-transform: rotateZ(0deg);

AFAIK 旋转可以提高性能,因为 gpu 在旋转某些东西方面要好得多。

另一种方法是在屏幕上的每个元素上放置一个“无功能”转换..

如果我能帮助你,请告诉我。

于 2013-10-19T15:41:59.317 回答
1

将此代码放入您的课程中:

webview.getSettings().setRenderPriority(RenderPriority.HIGH); 

if (Build.VERSION.SDK_INT >= 19) {
    webView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
}       
else {
    webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
}
于 2019-12-24T12:29:38.473 回答
0

启用 HWA 时,我在渲染方面遇到了类似的问题。当我将以下行应用于正文(在 css 中)时,渲染问题消失了。

body {
  -webkit-transform: translateZ(0);
}
于 2019-07-05T12:56:35.923 回答