Améliorations et nouvelles fonctionnalités FireMonkey

De RAD Studio
Aller à : navigation, rechercher

Remonter à FireMonkey


Prise en charge GPU des pilotes Metal

Sur la plate-forme macOS, vous pouvez désormais construire des applications avec l'API Metal, plutôt qu'avec l'ancienne API Quartz ou OpenGL.

Apple ayant déclaré OpenGL obsolète, il ne devrait plus être disponible dans Catalina à l'avenir, même s'il l'est toujours actuellement. La prise en charge Metal de FireMonkey offre une migration souple vers de futures exigences et de plus grandes performances pour la restitution de l'affichage.

RAD Studio 10.4 introduit la prise en charge de l'API Metal sur la plate-forme iOS également. Bien qu'il ne soit pas obligatoire, il offre de meilleures performances pour les applications FireMonkey en général.

Comment travailler avec Metal

Certains paramètres globaux permettent d'activer l'utilisation du pilote Metal pour la restitution de l'IU et d'autres sont utilisés pour sa configuration.

Voici la liste de ces paramètres avec leur valeur par défaut :

FMX.Types.GlobalUseMetal : Boolean=False;

Il permet d'utiliser Metal pour la restitution de l'IU. Variable booléenne qui spécifie si le contexte Metal doit être utilisé pour la restitution des graphiques.

Pour activer le contexte Metal, définissez simplement la variable globale FMX.Types.GlobalUseMetal sur True dans la section initialization. Par défaut, cette variable globale est sur False pour préserver la compatibilité avec la version antérieure de Delphi.

Remarque: Lorsque vous utilisez des fonctions OpenGL personnalisées ou OpenGL Shader personnalisées écrites dans son code, la migration vers Metal peut ne pas être tout à fait transparente.

FMX.Types.GlobalEventDrivenDisplayUpdates : Boolean=True; Lorsque cette valeur vaut True, la boucle de dessin se met en pause et les mises à jour sont pilotées par les événements. La valeur par défaut est True.

C'est utile pour les jeux vidéo, mais il n'existe aucun équivalent en OpenGL sur Android.

Remarque: Ce réglage s'applique à Metal uniquement.

FMX.Types.GlobalPreferredFramesPerSecond : integer=60; C'est le taux auquel la boucle de dessin met à jour son contenu. Variable entière pour définir le taux auquel la boucle de dessin met à jour son contenu lorsque GlobalEventDrivenDisplayUpdates est défini sur False.

Remarque: Ce réglage s'applique à Metal uniquement.

Nouvelle implémentation TMemo stylé pour Windows

C'est la nouvelle implémentation pour le composant TMemo stylé sur la plate-forme Windows, offrant ainsi une meilleure prise en charge IME et des améliorations supplémentaires.

Pour activer cette nouvelle implémentation, vous devez ajouter l'instruction uses de la nouvelle unité FMX.Memo.Style.New. FireMonkey utilise par défaut l'ancienne implémentation pour le TMemo stylé sur toutes les plates-formes.

L'ajout de la nouvelle unité FMX.Memo.Style.New remplace automatiquement l'ancienne implémentation du mémo stylé pour tous les contrôles TMemo de l'application.

L'implémentation de ce nouveau mémo stylé pour 10.4 concerne uniquement la plate-forme Windows. Voici quelques-unes de ces fonctionnalités :

  • Le nouveau mémo stylé comprend un mode de saisie IME totalement reconçu. Le nouveau mémo stylé fonctionne comme un mode de saisie de texte (IME) sous Windows :
  • L'utilisateur peut entrer du texte IME puis choisir où le texte IME doit être inséré.
  • Au fur et à mesure que l'utilisateur saisit du texte IME, ce dernier ne fait pas partie des lignes de TMemo. Le texte IME est dessiné au-dessus.
  • La fenêtre IME change de position lorsque l'utilisateur fait défiler le contenu du mémo.
  • Lors de la saisie du texte IME, l'utilisateur peut utiliser les boutons Droite et Gauche pour corriger le texte IME actuel.
  • Le nouveau mémo stylé prend en charge de nouvelles méthodes de sélection de texte. Par exemple : vous pouvez double-cliquer et maintenir le bouton de la souris tout en la déplaçant pour sélectionner plusieurs mots dans le texte (sélection de mots entiers).
  • L'implémentation du nouveau mémo stylé est composée de plusieurs parties : sélection, disposition, correcteur orthographique, menu contextuel, etc.
  • Pour mieux contrôler l'état IME, de nouvelles méthodes sont disponibles dans TTextService.

Fonctionnaliltés FireMonkey supplémentaires et corrections importantes

  • Le composant Barre d'outils de FireMonkey possède maintenant des propriétés Hint, ShowHint et ParentShowHint.
  • Prise en charge améliorée des Emoji ZWJ Sequences, par exemple, icon dans la catégorie Famille : Homme, Femme, Fille, Garçon
  • Nouvelle méthode pour accéder à la position Caret depuis une souris dans TMemo.
  • Une nouvelle méthode (TAndroidHelper.ShouldNativeLibrariesBeExtracted) permet de renvoyer la valeur de l'attribut manifeste 'extractNativeLibs', qui renvoie False pour une application packagée en bundle d'application.
  • La performance de restitution de caractères a été significativement améliorée dans TextLayout.
  • Sur macOS, il existe une nouvelle option de droits pour Bluetooth.

Nouveau composantTBufferedLayout

FireMonkey dispose maintenant d'un nouveau contrôle de disposition qui stocke son contenu graphique (y compris ses contrôles internes) dans un tampon mémoire. En l'absence de modifications, il peut être ainsi redessiné en affichant le tampon plutôt qu'en redessinant chaque contrôle interne.

Dans certains cas, cela se traduit par une actualisation plus rapide de l'interface utilisateur du contrôle. Toutefois, l'utilisation de TBufferedLayout sur de grandes surfaces peut avoir une incidence négative en termes d'utilisation de la mémoire. C'est pourquoi ce comportement ne fait pas partie de la bibliothèque principale.

Le nouveau contrôle est facile à utiliser et a l'icône suivante :

icon

Voir aussi

FMX.Types.GlobalUseMetal

FMX.Types.GlobalEventDrivenDisplayUpdates

FMX.Types.GlobalPreferredFramesPerSecond