Ouvrir le menu Fermer le menu

IHM embarquée : Pourquoi devriez-vous inclure le rendu hybride dans votre projet IoT ?

trait de séparation
Temps de lecture : 7 min

Si vous n'avez jamais entendu le terme « rendu hybride », c'est parce qu'il est relativement récent. D'une manière générale, le rendu hybride génère des graphiques en utilisant plusieurs chemins distincts à travers le silicium. Un exemple est la création d'images de film CGI en utilisant à la fois un GPU et un processeur. Cependant, chez Crank Software, le terme est utilisé pour quelque chose de beaucoup plus utile pour les développeurs et les concepteurs d’applications embarquées : créer une interface utilisateur avec plusieurs types d’accélérateurs graphiques.

Dans les systèmes embarqués, le rendu hybride signifie la création d'une interface utilisateur avec à la fois un GPU 3D et un processeur graphique secondaire dans la même application. Le processeur graphique secondaire doit être capable d'accélérer les graphiques 2D (il s'agit généralement d'un noyau de composition mais d'autres options sont possibles). L'application bascule dynamiquement entre les accélérateurs au moment de l'exécution, en fonction des graphiques à afficher.

Un exemple de composant implémentant ce concept est le NXP 7ULP qui a à la fois un GPU Open GL ES ainsi qu'un accélérateur / compositeur GPU 2D. Le GPU 2D est très puissant et peut accélérer le mélange alpha, la mise à l'échelle, la rotation / la mise en miroir, les superpositions, les lignes, les rectangles, la conversion de l'espace colorimétrique, etc., et ce avec une consommation d'énergie beaucoup plus basse que ses équivalents GPU 3D.

Réalisez des économies d'énergie spectaculaires

Vous pouvez faire tout votre design avec une configuration 3D appropriée, mais l'utilisation des moteurs 3D et 2D complexifie le logiciel. Alors pourquoi faire cela ? La réponse est simple : économiser considérablement l’énergie !  L'utilisation d’un GPU 3D a un coût - il consomme beaucoup de courant ce qui peut être rédhibitoire pour une application alimentée par batterie. Mais rendre votre application exclusivement 2D limite l'expressivité et les cas d'utilisation potentiels de votre produit. Le rendu hybride vous offre le meilleur des deux mondes : la richesse de la 3D lorsque c’est nécessaire avec la consommation du 2D lorsque vous n'en avez pas besoin.

Si vous êtes curieux de savoir quelle différence le rendu hybride peut faire en termes de consommation, les ingénieurs de NXP ont mesuré la consommation de courant d’une application de fitness de référence quand elle était dans le mode 3D ainsi que pendant les portions de graphiques 2D. Comme on peut le voir dans les tableaux suivants, ils ont constaté que l'outil de rendu hybride unique de Storyboard consommait en moyenne 0,074 ampères - une puissance moyenne, avec une durée de vie de la batterie plus étendue, une expérience utilisateur beaucoup plus poussée et avec une haute résolution lors de l'interaction avec l'un ou l'autre les graphiques 3D ou 2D.
IHM-Embarquée_Hybrid-Rendering-Crank
IHM-Embarquée_Hybrid-Rendering2-Crank

Le rendu hybride n'est pas complexe

Le déploiement du rendu hybride dans un cadre graphique standard nécessite de diviser l'application en segments distincts : ceux qui gèrent la 3D, ceux qui gèrent la 2D uniquement, et un compositeur / lanceur maître qui sait quels composants invoquer, avec quel système graphique, comment et quand adresser le matériel, et bien sûr tout coordonner pour paraître transparent du point de vue de l'utilisateur. On pourrait donc s’inquiéter, à juste titre, de la complexité nécessaire à l'architecture de l’application pour réaliser ces opérations dans le but de sauvegarder la batterie.

Mais Storyboard de Crank simplifie toutes ces opérations, car le moteur de rendu graphique de Storyboard détermine automatique si l'écran de l’IHM est 2D ou 3D et envoie automatiquement le contenu à la volée en utilisant le GPU le plus approprié. Cela signifie que vous n’avez pas besoin de réorganiser ou de refactoriser votre code pour tirer parti du rendu hybride - il vous suffit de l'exécuter.

Note : la sélection du GPU se fait image par image. Cela signifie que le moteur de Storyboard n'utilisera pas les deux GPU lorsqu'il y a un mélange de contenu 2D et 3D sur la même image. L'utilisation des deux GPU est techniquement possible sur certains matériels, mais amènerait une complexité de synchronisation importante tout en annulant tout avantage d’économie possible. Si Storyboard détecte un contenu 3D sur l’IHM, il rend l'ensemble du cadre 3D (haute consommation), sinon il restitue le contenu à l'aide du GPU 2D (faible consommation d'énergie).

Pour tirer le meilleur parti d'une application de rendu hybride en termes d’économie d'énergie, vous devrez utiliser la 3D dans votre interface utilisateur de manière réfléchie. Conservez l'essentiel de l'application en 2D pour maximiser la durée de vie de la batterie et n'ajoutez la 3D que lorsque cela est nécessaire pour distinguer ou différencier une fonction.

N'ajoutez pas de 3D aux zones de l'écran permanentes comme les barres d’ascenseur des fenêtres ou les barres d'état. Si vos graphiques 3D sont statiques, pensez à les afficher avec des bitmaps 2D pré-rendus. Bien sûr, l'animation de vos modèles peut donner un rendu réellement vivant, alors importez des modèles 3D dans Storyboard à partir d'outils comme Blender, Maya ou 3D Studio pour renforcer les effets graphiques là où cela a du sens – mais il faut toujours tenir compte de ce qu’on ajoute si l’on doit également économiser la batterie.
IHM-Embarquée_Modernizing-embedded-graphics-foor-ultra-low-power-UIs-Crank

Quand est-il judicieux de tirer parti du rendu hybride pour les projets IoT et les produits portables ?

Avec la prolifération des équipements IoT et portables, la vraie question n’est pas de savoir quand utiliser le rendu hybride mais plutôt de savoir où le rendu hybride n'a pas de sens. Nous voyons des cas d'usage dans un grand nombre de domaines :
• « Wearables » : montres intelligentes, trackers de sport / fitness, tissus intelligents
• Santé & Soins : surveillance des patients, appareils médicaux mobiles, télésanté
• Industrie : automatisation des bâtiments, scanners et imprimantes alimentés par batterie, périphériques IoT
• Maison : concentrateurs pour maison intelligente, interrupteurs d'éclairage intelligents, caméras de sécurité, petits appareils électroménagers
• Véhicules : véhicules électriques, systèmes multimédias & récréatifs, navigation maritime

Storyboard place les designers d'interfaces utilisateur dans le siège du conducteur

Chez Crank, nous sommes conscients  de l’importance du rôle des designers d’IHM, et le rendu hybride est un cas d'utilisation parfait pour mettre en œuvre leur savoir-faire. En effet, Storyboard leur permet de contrôler la gestion de l’énergie grâce à la manière dont ils utilisent le rendu hybride. En d'autres termes, les designers peuvent en fait avoir une réelle influence et plus de contrôle sur la gestion de l’énergie du produit sans nécessairement impliquer les ingénieurs de développement, car ils pourront décider si, quand et où la 3D est appropriée pour l’application, et cela fera une grande différence dans la durée de vie de la batterie de votre appareil.
Source : ici
Vous souhaitez en savoir plus ?
• Téléchargez ici la version de démonstration de Storyboard pour le NXP 7ULP.
• Lisez tous les autres avantages du rendu hybride dans notre article de blog.
• Regardez le webinaire de rendu hybride réalisé avec NXP sur le i.MX 7ULP.

0