5

Cordova'yı kullanarak zorlu bir melez uygulama yapıyorum ve web sitesini mobil kromda çalıştırdığımda genel olarak yavaş olduğunu fark ettim. bana mantıklı değil ben duymuş Bazı argümanlar:cordova css dönüşümleri için bile neden yavaş?

  1. css animasyonlar mobil (bu doğru olsaydı, web sitesi doğru değil, çok mobil krom yavaş aday olacağını) yavaş

  2. cordova krom üzerine inşa edilmiştir

varsayılan olarak cordova kullanabilirsiniz gpu krom miktarını sınırlar mı (css dönüşümleri Cordova ile ilgisi olmalı, krom gayet bunları işlemek mümkün olmalıdır) ? CSS geçiş performansını iyileştirmek için ayarlayabildiğim bazı ayarlar var mı?

+0

Web görünümü tarayıcıdan daha yavaş, ancak genellikle yalnızca javascript. Cordova krom üstüne inşa edilmez, sistem webview üzerine inşa edilmiş, sadece android 4.4 ve üstü krom dayanmaktadır. – jcesarmobile

+0

@jcesarmobile Kitkat üzerinde test yapıyorum, bu nedenle cordova'nın krom kullanması gerekiyor. – navgeet

+0

Şey, gerçekten krom değil, krom tabanlı bir web sayfası. Ve yükseklik için bir geçiş yapmak istersem androidManifest.xml – jcesarmobile

cevap

3

Chrome, GPU'yu sadece kullanmasını istiyorsanız kullanır.

Bir örnek:

.nav-show { 
    transform:translate(200px,200px); 
    transition: transform 500ms linear; 
} 

GPU ile kılmak olmaz. Bunun yerine, işe GPU zorlamak için şunu kullanabilirsiniz:

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

fazla bilgi için ben bir cool article about it buldum.

Bu konuda yapabileceğiniz başka bir şey olup olmadığını bilmiyorum.

WebView, kit-kat'tan sonra kromun sadece bir parçası. Üstelik, uygulamanız, chrome'da bir cordova uygulaması olarak "derlenmiş" den daha fazla hata ayıkladığınızda aynı ortamda çalışmıyor. Aslında, cordova web görünümü etrafında bir sarıcı eklemek, eklentileri krom yapmak zorunda değil gibi fonksiyonlar eklemek, vb ...

Bu yardım umuyoruz.

+0

numaralı telefondan temel SDK 19 veya daha yüksek bir değer ayarladığınızdan emin olun. –

+1

Maalesef genişliği veya yüksekliği dönüştürmek için gpu kullanamazsınız. – sarlam

+0

@BarbuBarbu 'transform: scale' styles kullanmayı deneyebilirsiniz. –