5

Tôi đã xây dựng một ứng dụng lai đòi hỏi bằng cách sử dụng cordova và đã nhận thấy rằng nói chung nó chậm so với khi tôi chạy trang web trong chrome di động. Một số lập luận tôi đã nghe nói mà không có ý nghĩa với tôi:Tại sao cordova chậm ngay cả đối với các biến đổi css?

  1. hình ảnh động css trong điện thoại di động là chậm (nếu điều này là sự thật, trang web sẽ chạy chậm trong chrome thoại di động cũng vậy, đó là không đúng sự thật)

  2. cordova được xây dựng trên đầu trang của chrome (biến đổi css nên không có gì để làm với cordova, chrome sẽ có thể làm cho chúng tốt)

Liệu cordova theo mặc định hạn chế số lượng gpu chrome có thể sử dụng ? Có một số cài đặt tôi có thể tinh chỉnh để cải thiện hiệu suất chuyển tiếp css không?

+0

Chế độ xem web chậm hơn trình duyệt nhưng thường chỉ là javascript. Cordova không được xây dựng trên Chrome, được xây dựng trên đầu trang của hệ thống webview, chỉ android 4.4 trở lên được dựa trên chrome. – jcesarmobile

+0

@jcesarmobile Tôi đã thử nghiệm trên kitkat, vì vậy cordova phải được sử dụng chrome chính nó. – navgeet

+0

Vâng, nó không thực sự chrome, đó là một trang web dựa trên chromium. Và đảm bảo bạn đã đặt SDK cơ sở 19 trở lên trên androidManifest.xml – jcesarmobile

Trả lời

3

Chrome chỉ sử dụng GPU nếu bạn muốn anh ấy sử dụng nó.

Một ví dụ:

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

sẽ không được render với GPU. Thay vào đó, để buộc GPU hoạt động, bạn có thể sử dụng:

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

để biết thêm thông tin Tôi tìm thấy cool article about it.

Tôi không biết liệu bạn có thể làm được gì khác không.

Tôi nghĩ, WebView chỉ là một phần của chrome sau khi kit-kat. Hơn nữa, ứng dụng của bạn không chạy trong cùng một môi trường khi bạn gỡ lỗi trên chrome hơn là "được biên dịch" dưới dạng ứng dụng cordova. Trong thực tế, cordova thêm một wrapper xung quanh webview của bạn, bổ sung thêm chức năng mà chrome không phải làm, vv ...

Hy vọng giúp đỡ.

+0

nếu tôi muốn thực hiện chuyển đổi chiều cao? –

+1

Thật không may, bạn không thể sử dụng gpu để chuyển đổi chiều rộng hoặc chiều cao. – sarlam

+0

@BarbuBarbu bạn có thể thử sử dụng các kiểu 'transform: scale'. –

Các vấn đề liên quan