novembre
2012
Dans un blogpost publié sur FXexperience, Richard Bair, l’architecte en chef de la plateforme cliente annonce qu’il est passé sur un Mac Book Pro Retina et est donc confronté à un problème soulevé par plusieurs utilisateurs Mac durant les sessions Java 7 sur Mac OS X pendant la JavaOne 2012 : sur un Mac Retina, Java (Swing comme FX), c’est moche !
En effet, le doublement de résolution opéré par Apple lors de la mise à l’échelle des éléments affichés rend les images et le texte non-vectoriel tout flou et donc assez inconfortable pour l’utilisateur. Ce doublement est nécessaire pour éviter que les éléments graphiques ne soient dessinés à leur taille microscopique réelle et soient donc trop petits ou illisibles et indechiffrables par l’utilisateur. En contrepartie, si pour le vectoriel, tout s’affiche sans difficulté, il n’en est rien des éléments bitmaps qui apparaissent sur le coup flous.
Richard Bair annonce donc que les futures versions de JavaFX utiliseront un mécanisme de retrait de ressources similaire a celui opéré par Apple lors du chargement d’images bitmap pour les apps compatibles Mac et iOS non-retina et retina : intégrer plusieurs versions de la même image dans l’application, une version pour l’affichage normal et une seconde version pour l’affichage high-DPI. Ainsi charger une image nommée « fooImage.png » depuis le code, chargera en fait une image haute-résolution nommée « fooImage@2x.png » dans le cas où le code tourne sur une plateforme HD (et si un tel fichier existe). Donc, dans ce cas, le programmeur n’aura pas à modifier son code, juste a packager l’image additionnelle avec son application*.
Le rendu des polices sera probablement mis automatiquement à l’échelle par les runtimes, mais il indique que les opérations bitmap effectuées sur Canvas et ImageWriter seront elles à la charge du programmeur. L’équipe FX ajoutera donc une API pour permettre au programmeur de déterminer si son application tourne sur un affichage retina / high-DPI et de faire les mises à l’échelle nécessaires si besoin.
Aucune information n’est donnée quant à une éventuelle prise en charge de modifications similaires pour AWT / Swing / Java2D cependant.
*évidement packager son app avec un second set d’images 4 fois (largeur x hauteur x 2) plus grosses en fera exploser la taille, ce qui explique pourquoi les apps universelles iPhone et iPad supportant tous les affichages sont aussi grosses d’ailleurs.
1 Commentaire + Ajouter un commentaire
Commentaires récents
- Back from the future… dans
- Back from the future… dans
- Static linking = does not Compute dans
- Paquetage x 2 dans
- Why you little… dans
[…] Java → Java HD par bouye (06/11/2012 01:49) Dans un blogpost publié sur FXexperience, Richard Bair, l’architecte en chef de la plateforme cliente annonce qu’il est passé sur un Mac Book Pro Retina et est donc confronté à un problème soulevé par plusieurs utilisateurs Mac durant les sessions Java 7 sur Mac OS X pendant la JavaOne 2012 : sur un Mac Retina, Java (Swing comme FX), c’est moche ! En effet, le doublement de résolution opéré par Apple lors de la mise […] […]