¿Por qué está deshabilitada la opción "Forzar procesamiento de GPU" de forma predeterminada en las opciones de desarrollador?

12

¿Por qué esta función está deshabilitada? Cuando lo enciendo, muchas aplicaciones y se vuelven ágiles e impresionantes con gráficos suaves. Parece que sería bueno si estuviera habilitado por defecto.

El artículo vinculado en esta pregunta dice que la aceleración de hardware no fue predeterminada hasta 4.0.

¿La opción "Forzar procesamiento de GPU" está dirigida a aplicaciones que usan API para 3.0 y versiones inferiores?

trusktr
fuente

Respuestas:

12

Cuando se agregó por primera vez el procesamiento de GPU, era muy poco confiable. A veces sería más lento que el renderizado de software, y había algunos tipos de GUI con las que simplemente no podía funcionar. Por esta razón, era responsabilidad del desarrollador de la aplicación probar su aplicación con el procesamiento de GPU, y establecer una opción en el manifiesto de la aplicación (el mismo lugar donde declara sus permisos) para habilitar el procesamiento de GPU para esa aplicación. La opción era principalmente para facilitar a los desarrolladores probar el efecto de la representación de GPU en su aplicación. Esto tiene sentido porque:

  1. la mayoría de los usuarios no saben o no se preocupan por el procesamiento de GPU, y no saben si debe estar activado o desactivado para una aplicación determinada; y
  2. la configuración realmente debe ser por aplicación, no en todo el dispositivo, porque algunas aplicaciones simplemente no funcionarían con el procesamiento de GPU activado.

Después de un mayor desarrollo, cuando apareció 4.0, el procesamiento de GPU se volvió más confiable, por lo que se convirtió en el valor predeterminado para todas las aplicaciones: ahora depende del desarrollador desactivar explícitamente el procesamiento de GPU si causa un problema en su aplicación. (Eso es muy raro ahora). La opción "Forzar renderizado de GPU" es vestigial y rara vez la usan incluso los desarrolladores ahora, porque ya es la predeterminada.

Dan Hulme
fuente
6

Para citar una publicación de XDA :

Al habilitar esta preferencia en las opciones de desarrollador, se descarga la tarea de representar componentes de la ventana como botones, texto y cálculos complejos de gráficos 2D en GPU. Esto a menudo resulta en una representación de la interfaz de usuario mucho más rápida que incluye animaciones. Por un lado, definitivamente logrará una mejor velocidad de fotogramas (y, por lo tanto, una experiencia fluida) en todo el sistema, pero puede terminar usando más batería. En ciertos dispositivos, la GPU consume más energía que la CPU, por lo tanto, puede observar una vida útil de la batería 5-15% menor con la opción habilitada.

Recomendaría tener esta opción habilitada en dispositivos con CPU más débiles, por ejemplo, rara vez debería habilitar esta opción en CPU ARM de 1.4ghz de doble núcleo.

La descarga de la representación de la interfaz de usuario en la GPU tiene beneficios obvios para que la CPU pueda trabajar en otras tareas importantes como la E / S de la base de datos, la manipulación de datos, los cálculos de diseño y la respuesta a otras entradas del usuario.

Dicho esto, el usuario debe decidir si quiere cambiar la duración de la batería por el rendimiento. Y, creo que la mayoría de las personas querrían que sus teléfonos duren más y mantengan el rendimiento a un ritmo aceptable.

geffchang
fuente
0

Está destinado a que los desarrolladores prueben sus aplicaciones, por eso no está habilitado de forma predeterminada.

Sameer
fuente