Neue Features und Erweiterungen in FireMonkey

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu FireMonkey


GPU-Unterstützung des Metal-Treibers

Auf der macOS-Plattform können Sie jetzt Anwendungen mit der Metal-API erzeugen, anstatt mit der alten Quartz-API und OpenGL.

Da Apple die OpenGL als veraltet erklärt hat, auch wenn sie in Catalina noch verfügbar ist, wird sie wahrscheinlich in Zukunft nicht mehr verfügbar sein. Die FireMonkey-Unterstützung für Metal bietet eine reibungslose Migration für künftige Anforderungen und eine bessere Leistung beim Bildschirm-Rendering.

In RAD Studio 10.4 wurde die Unterstützung auch für die Metal-API auf der iOS-Plattform eingeführt, wo es zwar nicht erforderlich ist, aber im Allgemeinen eine bessere Leistung für FireMonkey-Anwendungen bieten kann.

So arbeiten Sie mit Metal

Es gibt ein paar globale Einstellungen, um die Verwendung des Metal-Treibers für das UI-Rendering und einige seiner Konfigurationen zu aktivieren.

Diese Einstellungen sind im Folgenden aufgeführt und der Standardwert ist jeweils angegeben:

FMX.Types.GlobalUseMetal: Boolean=False;

Diese Einstellung ermöglicht die Verwendung von Metal für das UI-Rendering. Boolesche Variable, die angibt, ob der Metal-Kontext zum Rendern von Grafik verwendet werden soll.

Um den Metal-Kontext zu aktivieren, müssen Sie im Initialisierungsabschnitt die globale Variable FMX.Types.GlobalUseMetal auf True setzen. Standardmäßig ist diese globale Variable False, um die Kompatibilität mit früheren Delphi-Versionen aufrechtzuerhalten.

Hinweis: Wenn Sie benutzerdefinierte OpenGL-Funktionen oder benutzerdefinierte OpenGL Shader verwenden, ist die Migration zu Metal womöglich nicht vollständig transparent.

FMX.Types.GlobalEventDrivenDisplayUpdates: Boolean=True; Wenn dieser Wert auf True gesetzt ist, sind die Unterbrechungen und Aktualisierungen der Schleife für das Zeichnen ereignisgesteuert. Der Vorgabewert ist True.

Dies ist hilfreich für Spiele, hat aber derzeit keine Entsprechung in OpenGL unter Android.

Hinweis: Diese Einstellung ist nur für Metal vorgesehen.

FMX.Types.GlobalPreferredFramesPerSecond: integer=60; Das ist die Rate, mit der die Zeichnen-Schleife ihren Inhalt aktualisiert. Integer-Variable zur Einstellung der Rate, mit der die Schleife für das Zeichnen ihren Inhalt aktualisiert, wenn GlobalEventDrivenDisplayUpdates auf False gesetzt ist.

Hinweis: Diese Einstellung ist nur für Metal vorgesehen.

Implementierung der neuen mit Stilen versehenen Memo-Komponente

Die neue Implementierung für die mit Stilen versehene TMemo-Komponente auf der Windows-Plattform bietet bessere Unterstützung für IME sowie weitere Verbesserungen .

Um diese neue Implementierung zu aktivieren, müssen Sie der uses-Anweisung die neue Unit FMX.Memo.Style.New hinzufügen. FireMonkey verwendet die alte Implementierung standardmäßig für das mit Stilen versehene TMemo auf allen Plattformen.

Durch das Hinzufügen der neuen Unit FMX.Memo.Style.New wird die alte Implementierung des mit Stilen versehenen Memos automatisch für alle TMemo-Steuerelemente in der gesamten Anwendung ersetzt.

Die Implementierung dieses neuen Memos in 10.4 ist auf die Windows-Plattform beschränkt. Hier sind einige der wichtigsten verfügbaren Features:

  • Das neue mit Stilen versehene Memo enthält eine vollständig neu gestaltete IME-Eingabe. Das neue mit Stilen versehene Memo arbeitet jetzt wie eine native IME-Texteingabe in Windows:
  • Der Benutzer kann IME-Text eingeben, um zu wählen, wo der IME-Text eingefügt werden soll.
  • Wenn der Benutzer den IME-Text eingibt, dann ist der IME-Text nicht Teil der Memo-Zeilen. Der IME-Text wird oben angezeigt.
  • Das IME-Fenster ändert nun seine Position, wenn der Benutzer den Inhalt des Memos scrollt.
  • Bei der Eingabe von IME-Text kann der Benutzer die Tasten "Links" und "Rechts" verwenden, um Korrekturen im aktuellen IME-Text vorzunehmen.
  • Das neue mit Stilen versehene Memo unterstützt neue Arten zum Auswählen von Text. Zum Beispiel: Sie können doppelklicken, die Maustaste gedrückt halten und die Maus bewegen, um mehrere Wörter im Text zu markieren (Auswahl ganzer Wörter).
  • Die neue Implementierung des mit Stilen versehenen Memos besteht aus verschiedenen Teilen: Auswahl, Layout, Rechtschreibprüfung, Kontextmenü etc.
  • Es gibt neue zusätzliche Methoden in TTextService zur besseren Steuerung des IME-Status.

Weitere FireMonkey-Features und wichtige Fixes

  • Die ToolBar-Komponente in FireMonkey verfügt nun über die Eigenschaften Hint, ShowHint und ParentShowHint.
  • Verbesserte Unterstützung für Emoji ZWJ Sequences, zum Beispiel, icon Familie: Mann, Frau, Mädchen, Junge.
  • Neue Methode für den Zugriff auf die Caret-Position mit der Maus in TMemo.
  • Es gibt eine neue Methode (TAndroidHelper.ShouldNativeLibrariesBeExtracted) für die Rückgabe des Wertes des Manifest-Attributs "extractNativeLibs", die False für eine als App-Paket gepackte Anwendung zurückgibt.
  • Die Leistung beim Rendern von Zeichen im TextLayout wurde deutlich erhöht.
  • Unter macOS gibt es eine neue Berechtigungsoption für Bluetooth.

Neue Komponente TBufferedLayout

FireMonkey verfügt jetzt über ein neues Layout-Steuerelement, das seinen grafischen Inhalt (einschließlich seiner internen Steuerelemente) in einem Speicherpuffer speichert, sodass es, falls keine Änderung vorliegt, neu gezeichnet werden kann, indem der Puffer angezeigt wird, anstatt jedes interne Steuerelement neu zu zeichnen.

In vielen Fällen wird die Benutzeroberfläche des Steuerelements dadurch schneller aktualisiert. Die Verwendung von TBufferedLayout auf großen Oberflächen kann sich jedoch negativ auf die Speicherauslastung auswirken, und das ist der Grund, weshalb dieses Verhalten nicht Teil der Hauptbibliothek ist.

Das neue Steuerelement ist wie die anderen Layouts einfach zu verwenden und hat das folgende Symbol:

icon

Siehe auch

FMX.Types.GlobalUseMetal

FMX.Types.GlobalEventDrivenDisplayUpdates

FMX.Types.GlobalPreferredFramesPerSecond