Bất cứ ai cũng có thể giải thích tất cả các tùy chọn nhà phát triển?


14

Bất cứ ai có thể giải thích các tùy chọn nhà phát triển?

  • Buộc kết xuất GPU
  • Vô hiệu hóa ops clip không hình chữ nhật
  • Lực lượng 4X MSAA
  • Vô hiệu hóa lớp phủ CTNH

Những hiệu ứng có thể có trong thiết bị của tôi bằng cách vô hiệu hóa / kích hoạt chúng là gì? [ Lưu ý: Tôi đã tìm thấy các tùy chọn khác của Google nhưng không phải là các tùy chọn này. ]

Các cài đặt của nhà phát triển có ảnh hưởng đến thời lượng pin bằng cách sử dụng tốc độ hoạt hình thấp hơn (chính xác đến 2 lần) hoặc tốc độ hoạt hình cao hơn (chính xác 0,5 lần) với chi phí trải nghiệm người dùng không?

Câu trả lời:


17

Xin lưu ý đây là các tùy chọn Nhà phát triển và có thể không được sử dụng hoặc có tác động tiêu cực đến hiệu suất của thiết bị.

Buộc kết xuất GPU

GPU là Đơn vị xử lý đồ họa. Nó rất giống với CPU, nhưng thay vì xử lý số lượng và xử lý các tác vụ cho hệ điều hành và phần cứng, GPU sẽ hiển thị thông tin đồ họa và đưa nó lên màn hình cho bạn.

CPU có thể xử lý các hướng dẫn đồ họa tốt, nhưng làm như vậy sẽ mất thời gian để thực hiện các tính toán khác và có thể dẫn đến độ trễ trong khi các lệnh đồ họa được xử lý

Trong Ice Cream Sandwich trở đi, các nhà phát triển (hoặc người dùng có quyền lực) được cung cấp tùy chọn buộc các ứng dụng sử dụng kết xuất GPU, cho dù bit đó được bật hay tắt trong bảng kê khai của ứng dụng. Điều này không nhất thiết làm cho ứng dụng nhanh hơn và có thể gây ra sự cố.


Vô hiệu hóa ops clip không hình chữ nhật

Đây là quá kỹ thuật để tôi giải thích rất chi tiết. Về cơ bản, một "bức tranh" được sử dụng để vẽ. Mã nguồn cho Android chứa điều này:

/**
     * Turn on to **debug non-rectangular clip operations**.
     *
     * Possible values:
     * "hide", to disable this debug mode
     * "highlight", highlight drawing commands tested against a non-rectangular clip
     * "stencil", renders the clip region on screen when set
     *
     * @hide
     */
    public static final String DEBUG_SHOW_NON_RECTANGULAR_CLIP_PROPERTY =
            "debug.hwui.show_non_rect_clip";

Bạn có thể tắt nó để tạo các khu vực vải bất thường (không phải hình chữ nhật). Xem ở đây để biết thêm chi tiết về điều này

Theo @ IanNi-Lewis chỉ ra trong bình luận của mình:

Có lẽ đáng để chỉ ra rằng "các vùng clip không phải hình chữ nhật" là một chút sai lệch. Nó phải là "các vùng clip không phải là hình chữ nhật được căn chỉnh màn hình." Nếu bạn có một vùng clip hình chữ nhật được xoay bởi một số không phải là 90 độ, thì nó sẽ đi xuống cùng một đường chậm như một vùng clip có hình dạng như một chiếc bánh rán hoặc những gì có bạn. ("Đường dẫn chậm" sử dụng bộ đệm stpson và có lẽ không cần phải chậm như vậy; đó là một khu vực tốt để tối ưu hóa trong tương lai.)


Lực lượng 4X MSAA

Buộc 4x MSAA không yêu cầu thiết bị đã root. Tùy chọn này thực hiện giống như bất kỳ bộ lọc Anti Aliasing nào trong các trò chơi trên PC - làm mượt tất cả các pixel hóa và cung cấp kết xuất tốt hơn, có nghĩa là đồ họa trông đẹp hơn. Người dùng nên biết rằng chức năng này chỉ được khuyến nghị cho các thiết bị có GPU có khả năng hỗ trợ MSAA riêng.

Từ Wikipedia :

Trong xử lý tín hiệu và các ngành liên quan, răng cưa là một hiệu ứng làm cho các tín hiệu khác nhau trở nên không thể phân biệt (hoặc bí danh của nhau) khi được lấy mẫu. Nó cũng đề cập đến sự biến dạng hoặc tạo tác dẫn đến khi tín hiệu được tái tạo từ các mẫu khác với tín hiệu liên tục ban đầu.


Vô hiệu hóa lớp phủ CTNH

Nếu không có lớp phủ phần cứng, mọi ứng dụng đang hiển thị mọi thứ trên màn hình sẽ chia sẻ bộ nhớ video và sẽ phải liên tục kiểm tra va chạm và cắt để hiển thị hình ảnh phù hợp, điều này có thể tốn rất nhiều sức mạnh xử lý. Với lớp phủ phần cứng, mỗi ứng dụng sẽ có một phần bộ nhớ video riêng, loại bỏ nhu cầu kiểm tra va chạm và cắt.

Như @DanHulme nói: Windows trong Android luôn được kết hợp thay vì kết xuất vào bộ nhớ video được chia sẻ. Thông thường, SurfaceFlingersử dụng GPU để sáng tác, nhưng nó sẽ sử dụng lớp phủ phần cứng khi có thể, nhanh hơn và sử dụng ít pin hơn. Vô hiệu hóa lớp phủ có nghĩa là nó sẽ luôn sử dụng kết xuất GPU. Nó chỉ hữu ích để gỡ lỗi tích hợp hệ thống hoặc giải mã video CTNH: ngay cả các nhà phát triển ứng dụng cũng không cần bật tùy chọn này


2
4xMSAA có thể không thực sự chậm hơn. Trên một số GPU nhất định như Mali-400, sự khác biệt về tốc độ giữa 4xMSAA và không khử răng cưa là không đáng kể do cách các shader mảnh thực thi. Điều đáng nói là điều này chỉ ảnh hưởng đến các ứng dụng GLES và sẽ không làm cho văn bản và biểu tượng trong các ứng dụng thông thường trở nên sắc nét hơn.
Dan Hulme

3
Tôi không nghĩ rằng mô tả của bạn về lớp phủ CTNH là chính xác. Windows trong Android luôn được kết hợp thay vì kết xuất vào bộ nhớ video được chia sẻ. Thông thường, SurfaceFlingersử dụng GPU để sáng tác, nhưng nó sẽ sử dụng lớp phủ phần cứng khi có thể, nhanh hơn và sử dụng ít pin hơn. Vô hiệu hóa lớp phủ có nghĩa là nó sẽ luôn sử dụng kết xuất GPU. Nó chỉ hữu ích để gỡ lỗi tích hợp hệ thống hoặc giải mã video CTNH: ngay cả các nhà phát triển ứng dụng cũng không cần bật tùy chọn này.
Dan Hulme

Tôi rời khỏi PC của tôi, tôi sẽ chỉnh sửa ngay khi có thể, có một chút nhầm lẫn. Hoặc thoải mái chỉnh sửa
RossC

Việc cập nhật tốt để sử dụng xử lý gpu đã khiến ứng dụng se không gặp sự cố với câu hỏi này :-)
Canada Luke

1
@Ross Tôi không nghĩ nó có ảnh hưởng lớn đến pin chỉ là tiết kiệm pin như trong Windows trong đó chúng tôi vô hiệu hóa đồ họa trong suốt (chủ đề Ie Aero được đề xuất để vô hiệu hóa để cải thiện thời gian sử dụng pin)
user285oo6
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.