为什么科尔多瓦甚至对css变换都很慢?

nav*_*eet 5 css-transitions css-transforms cordova hybrid-mobile-app mobile-chrome

我一直在使用cordova构建一个要求苛刻的混合应用程序,并注意到与我在移动Chrome中运行网站时相比,它通常很慢.我听过一些对我没有意义的论点:

  1. 移动设备中的css动画很慢(如果这是真的,那么网站在移动设备上的运行速度也会很慢,这不是真的)

  2. cordova建立在chrome之上(css变换应该与cordova无关,chrome应该能够很好地渲染它们)

cordova默认是否限制gpu chrome可以使用的数量?是否有一些我可以调整以改善css过渡性能的设置?

小智 3

仅当您希望 Chrome 使用 GPU 时,Chrome 才会使用 GPU。

一个例子 :

.nav-show {
    transform:translate(200px,200px);
    transition: transform 500ms linear;
}
Run Code Online (Sandbox Code Playgroud)

不会使用 GPU 进行渲染。相反,要强制 GPU 工作,您可以使用:

.nav-show {
    transform: translate3d(200px,200px,0);
    transition: transform 500ms linear;
}
Run Code Online (Sandbox Code Playgroud)

有关更多信息,我找到了一篇关于它的很酷的文章

我不知道你是否还有什么可以做的。

我认为,WebView只是继kit-kat之后chrome的一部分。此外,当您在 Chrome 上调试应用程序时,您的应用程序不会在相同的环境中运行,而不是作为 cordova 应用程序“编译”。事实上,cordova 在你的 webview 周围添加了一个包装器,插件添加了 chrome 不需要做的功能,等等......

希望有帮助。