Windows 8 inaugurera effectivement ce que Gavin Gear, chargé de la connectivité, appelle sur le blog Building Windows 8 un « 9-axis sensor fusion system », un système combinant comme son nom l'indique plusieurs capteurs pour déterminer la position et les mouvements de l'ordinateur ou plus particulièrement de la tablette.
La mission parait simple sur le papier, mais le faire avec précision, réactivité et stabilité est bien plus difficile. L'objectif est de permettre la conception d'applications abouties de réalité augmentée, de guidage, de divertissement et naturellement de jeux vidéo, sans que chacun des développeurs n'aient à programmer cet aspect complexe.
3 capteurs pour déterminer une position
Pour ce faire on utilise notamment un accéléromètre 3D, largement démocratisé dans les appareils photo et smartphones pour déterminer automatiquement l'orientation de l'appareil (horizontale ou verticale). Il mesure à cet effet la gravité, mais génère malheureusement du bruit électronique nuisant à la stabilité de la mesure. Un simple filtre passe-bas en vient à bout mais il perd en contrepartie considérablement en réactivité.
En ajoutant un magnétomètre 3D (un compas) on obtient le cap de l'appareil, mais on ne résout pas encore la question du compromis stabilité/réactivité.
Un gyromètre 3D ne délivre enfin que des mesures relatives, et non absolues, en mesurant l'accélération subie par l'appareil sur trois axes, mais il apporte la stabilité ET la réactivité aux précédentes mesures.
Aucun de ces trois capteurs ne suffit à lui seul à fournir de données directement exploitables, mais une fois combinés ils délivrent le cap, l'inclinaison et l'orientation de l'appareil à n'importe quelle application.
Des optimisations à bas niveau
Comme toujours avec Windows, le système d'exploitation est voué à fonctionner sur une grande variété d'appareils et donc en l'occurrence avec une grande variété de capteurs.
Pour faciliter la prise en charge matérielle des capteurs, Microsoft indique avoir poussé l'ajout d'un nouveau standard aux spécifications HID 1.12 (Human Interface Device ou interface homme machine) de l'USB-IF. Les capteurs répondant à ces spécifications fonctionneront donc nativement au travers du pilote unique inclus à Windows 8, tout comme le seront les modems cellulaires.
Enfin dans un souci d'économie d'énergie, les contrôleurs spécialisés de ces capteurs prémâcheront le travail, pour que le processeur central et la mémoire vive soient le moins sollicités possible, et ils ne feront de mesures qu'au rythme auquel les applications les réclament.
Windows 8 devrait donc offrir une mesure fiable de la position de la machine hôte, ce qui présage de l'apparition d'un grand nombre d'applications l'exploitant, les développeurs n'ayant que quelques lignes de code à ajouter.