Dlaczego „Wymuś renderowanie GPU” jest domyślnie wyłączone Opcje programisty?

12

Dlaczego ta funkcja jest wyłączona? Gdy go włączam, wiele aplikacji staje się zadziwiających i niesamowitych dzięki płynnej grafice. Wygląda na to, że byłoby miło, gdyby była domyślnie włączona.

W powiązanym artykule w tym pytaniu podano, że przyspieszenie sprzętowe nie było domyślne aż do 4.0.

Czy opcja „Wymuś renderowanie za pomocą GPU” jest następnie kierowana na aplikacje korzystające z interfejsu API w wersji 3.0 lub starszej?

trusktr
źródło

Odpowiedzi:

12

Kiedy po raz pierwszy dodano renderowanie GPU, było to bardzo zawodne. Czasami byłby wolniejszy niż renderowanie programowe i istniały pewne rodzaje GUI, z którymi po prostu nie mógł pracować. Z tego powodu do programisty aplikacji należało przetestowanie jej aplikacji z renderowaniem GPU i ustawienie opcji w manifeście aplikacji (to samo miejsce, w którym deklaruje swoje uprawnienia), aby włączyć renderowanie GPU dla tej aplikacji. Opcja polegała głównie na ułatwieniu programistom testowania wpływu renderowania GPU na ich aplikację. Ma to sens, ponieważ:

  1. większość użytkowników nie wie, czym jest renderowanie GPU i nie wie, czy powinno ono być włączone, czy wyłączone dla danej aplikacji; i
  2. ustawienie naprawdę musi dotyczyć aplikacji, a nie całego urządzenia, ponieważ niektóre aplikacje po prostu nie działałyby z włączonym renderowaniem GPU.

Po dalszym rozwoju, kiedy pojawiło się 4.0, renderowanie GPU stało się bardziej niezawodne, więc stało się domyślnym dla wszystkich aplikacji: teraz deweloper musi jawnie wyłączyć renderowanie GPU, jeśli spowoduje to problem w ich aplikacji. (Teraz jest to bardzo rzadkie.) Opcja „Wymuś renderowanie GPU” jest szczątkowa i rzadko używana nawet teraz przez programistów, ponieważ jest już domyślna.

Dan Hulme
źródło
6

Aby cytować z postu XDA :

Włączenie tej preferencji w opcjach programisty odciąża zadanie renderowania GPU komponentów okna, takich jak przyciski, tekst i złożone obliczenia graficzne 2d. Często powoduje to znacznie szybsze renderowanie interfejsu użytkownika, w tym animacje. Z jednej strony z pewnością osiągniesz lepszą liczbę klatek na sekundę (a tym samym płynne wrażenia) w całym systemie, ale możesz skończyć zużywając więcej baterii. Na niektórych urządzeniach procesor GPU zużywa więcej mocy procesora, dlatego można zaobserwować o 5-15% krótszą żywotność baterii przy włączonej opcji.

Polecam włączenie tej opcji na urządzeniach ze słabszymi procesorami, np. Rzadko trzeba włączać tę funkcję na dwurdzeniowym procesorze ARM 1,4 GHz.

Odciążenie renderowania interfejsu użytkownika na GPU ma oczywiste zalety, dzięki czemu CPU może pracować nad innymi ważnymi zadaniami, takimi jak operacje we / wy bazy danych, manipulowanie danymi, obliczenia układu i reagowanie na inne dane wejściowe użytkownika.

To powiedziawszy, to użytkownik powinien zdecydować, czy chce wymienić żywotność baterii na wydajność. I myślę, że większość ludzi chciałaby, aby ich telefony działały dłużej i utrzymywały wydajność w akceptowalnym tempie.

geffchang
źródło
0

Jest przeznaczony dla programistów do testowania swoich aplikacji, dlatego domyślnie nie jest włączony.

Sameer
źródło