Problème d'affichage des applications FireMonkey sous macOS Sonoma

J'ai finalement installé macOS Sonoma hier soir puisque de toute façon Xcode s'était mis à jour tout seul et qu'il fallait bien y passer un jour ou l'autre comme à iOS 17.

Grosse erreur !

La récupération du facteur d'échelle a changé côté macOS. On se retrouve avec des écrans doublés sur certaines applications FMX existantes selon le type d'écran utilisé (ici du 4K). Si vous avez ce cas chez vos utilisateurs un contournement existe.

Si vous n'utilisez pas trop de trucs dessinés dans votre projet vous avez juste à activer l'utilisation de METAL comme librairie graphique et recompiler les programmes. Mettez GlobalUseMetal à True en initialization de votre fiche principale ou en début de programme.

Si vous utilisez des trucs très graphiques (3D, couleurs, bidouillages d'images) et tombez sur un bogue lié à l'implémentation de METAL, installez Skia4Delphi (depuis GetIt ou le dépôt GitHub) et activez là sur votre projet.

Vous pouvez consulter ce ticket d'incident si vous voulez des bouts de code à copier coller ou comparer avec votre cas.

Bien entendu testez vos projets sur différents ordinateurs avant de les déployer si vous en avez la possibilité ou conservez la version précédente dans un coin au cas où.

Les version 12 de Delphi & C++Builder seront présentées le 9 novembre à 17 heures (heure française) par Embarcadero. Cette nouvelle version devrait prendre en charge officiellement macOS Sonoma et ne devrait pas être affectée par cette anomalie. Donc si personne ne hurle à la mort face à vos programmes sur Mac vous pouvez encore attendre quelques jours/semaines/mois(?) avant de migrer lors de la sortie de cette nouvelle version majeure.


Mug Toucan DX dans la baie de RioMug Chinese New Year 2023 : year of the rabbit