Gpu

Considérations sur le manque de fluidité d'Android

logo androidDianne Hackborn, ingénieur chez Google, a publié un long billet qui s'exaspère au sujet des idées reçues concernant l'accélération matérielle sur Android.

L'enjeu de cette question repose essentiellement sur le manque de fluidité apparent d'Android comparé à d'autres OS mobiles, iOS en tête.

Pour autant, Hackborn tient à corriger quelques idées reçues : Android tire parti de l'accélération graphique pour certaines tâches depuis la toute première version, notamment la composition des fenêtres. Cependant, le rendu de l'intérieur des fenêtres est lui fait entièrement de manière logicielle. A partir de la version 3 d'Android, il est devenu possible d'utiliser l'accélération matérielle pour le rendu du contenu des fenêtres, mais uniquement sur l'initiative des développeurs d'applications. Android 4 rend la chose systématique.

Dianne Hackborn remet en question le fait que l'accélération graphique soit une solution universelle qui permettrait des animations fluides, tout en insistant sur le fait qu'Android en a toujours bénéficié. D'autres éléments viennent également jouer, comme par exemple le plus grand nombre de pixels à gérer sur un appareil comme le Galaxy Nexus.

De fait, qu'Android exploite ou non l'accélération matérielle n'est qu'une question secondaire, puisque ce qui pose problème c'est le manque de fluidité manifeste de l'interface. Dianne Hackborn se préoccupe plus de venir à bout de certaines idées reçues que d'expliquer cet état de fait.

C'est à cette question que s'est attelé Andrew Munn, étudiant et ancien stagiaire chez Google sur Android, et futur stagiaire chez Microsoft sur Windows Phone, en publiant à son tour un article de fond sur ce problème.

La différence fondamentale entre Android et iOS tient dans la distribution des priorités des tâches : sur iOS toute intervention de l'utilisateur interrompt les calculs en cours pour rendre l'interface fluide, alors qu'Android fait son possible pour tout traiter de manière simultanée. Mais si Apple fournit tous les outils nécessaires pour basculer une tâche donnée en tâche de fond, cela reste au développeur de l'application de faire ces choix : une application qui ferait l'impasse dessus pourrait s'avérer tout aussi saccadée que sur Android.

En réponse à Andrew Munn, Brent Royal-Gordon indique qu'il s'agit là plus d'une différence culturelle que technique entre les différents développeurs : sur iOS, les développeurs portent une attention particulière à la fluidité de leurs applications (sans doute facilitée par le nombre plus limité d'appareils sur lesquels tester).

Cependant, s'il incombe effectivement au développeur de faire le tri entre les tâches prioritaires, iOS fait de lui-même certaines modifications lorsqu'un contact du doigt est détecté : certains threads sont basculés dans des modes spéciaux, et des rappels de fonctions sont mis en pause.

Pour autant, sur Android l'interface utilisateur ne bénéficie d'aucune priorité particulière, et son rendu a lieu sur le thread principal des applications. Ce problème structurel existait également sur Windows Phone 6.5, BlackBerry OS, et Symbian, et n'a été résolu qu'en reprenant les choses à la base, voire en abandonnant l'OS pour un autre.

Andrew Munn ne considère pas que cette différence condamne Android à demeurer éternellement saccadé, mais pour l'heure du moins elle explique cet état de fait. Une modification du comportement d'Android sur ce point nécessiterait cependant la création d'un nouveau toolkit pour l'interface, qui exigerait une réécriture des applications existantes pour en tirer parti, ainsi qu'un mode permettant la rétro-compatibilité.

Tags: , ,

Le prochain Tegra montre ses griffes

La prochaine génération du chipset mobile Tegra de NVIDIA promet de belles heures. La puce quadricœur revêt pour l'heure le sobriquet de Projet Kal-El (petit détail geek : Kal-El est le nom "kryptonien" de Superman). NVIDIA a diffusé une démonstration en vidéo de ses capacités : lumières dynamiques, et simulation physique des corps souples tels que les tissus. De quoi faire de l'ombre à l'A5 d'Apple pour peu que ce produit se retrouve prochainement sur le marché.

Tags: , ,

iPhone 3GS : quelques informations sur la puce graphique

Apple a présenté le nouvel iPhone comme étant plus rapide, sans préciser en quoi. On commence néanmoins à avoir des informations à propos de ses composants internes, et touchArcade se penche sur le cas de sa nouvelle puce graphique.

Les nouveaux iPhone seront équipés d'une puce PowerVR SGX qui devrait permettre de réaliser des jeux bien plus évolués que par le passé. Selon un développeur de Freeverse, les premiers iPhone et iPod touch étaient théoriquement capables de faire beaucoup de choses, mais la réalisation était souvent impossible, notamment en ce qui concerne la gestion des ombres ou des modifications en direct. Le nouveau téléphone d'Apple devrait en être capable sans trop de problèmes.

Le site propose par ailleurs la vidéo de démonstration d'une console basée sur le même processeur et la même puce graphique que l'iPhone 3GS. Cette vidéo donne un avant-goût de ce qu'il sera possible de réaliser.

Tags: ,