Pourquoi «Forcer le rendu du GPU» est-il désactivé par défaut pour les options du développeur?

12

Pourquoi cette fonctionnalité est-elle désactivée? Lorsque je l'allume, de nombreuses applications deviennent rapides et impressionnantes avec des graphismes fluides. Il semble que ce serait bien s'il était activé par défaut.

L'article lié dans cette question dit que l'accélération matérielle n'était pas par défaut jusqu'à 4.0.

L'option "Forcer le rendu du GPU" cible-t-elle alors les applications qui utilisent l'API pour la version 3.0 et inférieure?

trusktr
la source

Réponses:

12

Lorsque le rendu GPU a été ajouté pour la première fois, il n'était pas très fiable. Parfois, il serait plus lent que le rendu logiciel, et il y avait certaines sortes d'interfaces graphiques avec lesquelles il ne pouvait tout simplement pas fonctionner. Pour cette raison, il appartenait au développeur de l'application de tester son application avec le rendu GPU et de définir une option dans le manifeste de l'application (au même endroit où il déclare ses autorisations) pour activer le rendu GPU pour cette application. L'option était principalement de permettre aux développeurs de tester plus facilement l'effet du rendu GPU sur leur application. Cela a du sens car:

  1. la plupart des utilisateurs ne savent pas ou ne se soucient pas de ce qu'est le rendu GPU, et ne savent pas s'il doit être activé ou désactivé pour une application donnée; et
  2. le paramètre doit vraiment être par application, pas à l'échelle de l'appareil, car certaines applications ne fonctionnent tout simplement pas avec le rendu GPU activé.

Après la poursuite du développement, lorsque 4.0 est arrivé, le rendu GPU est devenu plus fiable, il est donc devenu la valeur par défaut pour toutes les applications: il appartient maintenant au développeur de désactiver explicitement le rendu GPU s'il provoque un problème dans leur application. (C'est très rare maintenant.) L'option "Forcer le rendu du GPU" est résiduelle et rarement utilisée même par les développeurs maintenant, car c'est déjà la valeur par défaut.

Dan Hulme
la source
6

Pour citer un article XDA :

L'activation de cette préférence dans les options de développeur décharge la tâche de rendu des composants de fenêtre tels que les boutons, le texte et les calculs graphiques 2D complexes sur le GPU. Cela se traduit souvent par un rendu de l'interface utilisateur beaucoup plus rapide, y compris des animations. D'un côté, vous obtiendrez certainement une meilleure fréquence d'images (et donc une expérience fluide) dans tout le système, mais vous pourriez finir par utiliser plus de batterie. Sur certains appareils, le GPU consomme plus d'énergie du processeur, vous pouvez donc observer une durée de vie de la batterie 5 à 15% inférieure avec l'option activée.

Je recommanderais d'avoir cette option activée sur les appareils avec des processeurs plus faibles, par exemple, vous devriez rarement avoir besoin de l'activer sur un processeur ARM dual-core 1.4ghz.

Le déchargement du rendu de l'interface utilisateur vers le GPU présente des avantages évidents afin que le processeur puisse travailler sur d'autres tâches importantes telles que les E / S de base de données, la manipulation de données, les calculs de disposition et la réponse à d'autres entrées utilisateur.

Cela dit, il appartient à l'utilisateur de décider s'il souhaite échanger la durée de vie de la batterie contre des performances. ET, je pense que la plupart des gens voudraient que leur téléphone dure plus longtemps et maintienne les performances à un taux acceptable.

geffchang
la source
0

Il est destiné aux développeurs de tester leurs applications, c'est pourquoi il n'est pas activé par défaut.

Sameer
la source