Das grafische Toolkit GTK 4.16 ist verfügbar.

Nach sechsmonatiger Entwicklung wurde die plattformübergreifende Toolkit-Version für die Erstellung von Benutzeroberflächen - GTK 4.16.0 veröffentlicht. GTK 4 entwickelt sich im Rahmen eines Entwicklungsprozesses, der versucht, Anwendungsentwicklern eine stabile und über mehrere Jahre unterstützte API zu bieten, die verwendet werden kann, ohne die Gefahr, dass alle sechs Monate Anwendungen aufgrund von Änderungen in der API einer neuen GTK-Version neu geschrieben werden müssen.

Zu den bemerkenswertesten Verbesserungen in GTK 4.16 gehören:

  • Die Einstellung gtk-font-rendering wurde hinzugefügt, die flexible, hochgradige Möglichkeiten zur Steuerung der Schriftartenrendering bietet. Um niedrigrangige Schriftarteinstellungen zu verwenden, sollte der Parameter gtk-font-rendering auf 'manual' gesetzt werden.
  • In der GSK-Bibliothek (GTK Scene Kit), die Rendering-Funktionen für grafische Szenen über OpenGL und Vulkan bereitstellt, wird standardmäßig für das Rendering in Umgebungen auf Basis des Wayland-Protokolls die 'vulkan'-Rendering-Engine verwendet, die direkt die Vulkan-Grafik-API nutzt. In anderen Fällen wird weiterhin die 'ngl'-Rendering-Engine verwendet, die eine OpenGL-Implementierung bietet, die über die Vulkan-API funktioniert. Um die Engine zu ändern, kann die Umgebungsvariable 'GSK_RENDERER' verwendet werden. Da die 'vulkan'- und 'ngl'-Engines unterschiedlich mit Grafiktreibern interagieren, wird empfohlen, die neueste Version von Mesa 24.2 für einen stabilen Betrieb zu verwenden.
  • Unter den weiteren Änderungen in der GSK-Bibliothek:
    • Die Technik 'occlusion culling' wurde implementiert, die das Rendering von Objekten ausschließt, die hinter anderen undurchsichtigen Objekten verborgen oder außerhalb des Sichtfelds liegen.
    • Im Kompositionsprozess wird die Farbrauminformation berücksichtigt.
    • Die Glyphen- und Texture-Caching wurde verbessert.
    • Die Unterstützung für das Fliesen-Overlay großer Texturen wurde implementiert, um durch wiederholtes Anwenden der Textur eine nahtlose Oberfläche zu schaffen.
    • Das Rendering von Schatten wurde verbessert.
    • Die Möglichkeit zur Nutzung von Hardware-Beschleunigung für die Verarbeitung von transformierten Texturen wurde hinzugefügt, z. B. für die Anzeige von rotierten Inhalten auf dem Bildschirm.
    • Die Nutzung von Hardware-Beschleunigungsmechanismen auf Systemen mit dem Kompositionsmanager kwin wurde verbessert.
    • Eine Debugging-Option "GDK_DEBUG=linear" wurde hinzugefügt, um den Modus für lineares Compositing zu aktivieren. Das Logging wurde verbessert, wenn die Optionen "GDK_DEBUG=offload" und "GSK_DEBUG=renderer" verwendet werden.
  • In Umgebungen basierend auf dem Wayland-Protokoll und dem Compositing-Manager KWin wurde die Möglichkeit implementiert, das Protokoll (Farbmanagement) für die Farbverwaltung zu verwenden. Bei der Ausgabe von angehefteten Dialogen wurde die Wayland-Erweiterung xdg-dialog genutzt. Bei der Komposition wird die sechste Version des Objekts wl_compositor verwendet. Der Einsatz von dmabuf im Prozess der hardwarebeschleunigten Verarbeitung von Texturen für OpenGL wurde zulässig.
  • Verbesserungen in der GDK-Bibliothek, die eine Schicht zwischen GTK und dem Grafiksystem bereitstellt:
    • Die Möglichkeiten für die Arbeit mit Farbmodi wurden erheblich erweitert. Unterstützung wurde für die Farbmodi srgb, srgb-linear, rec2100-pq und rec2100-linear bereitgestellt, und es wurde eine Vorbereitung für die Unterstützung von Farbmodi für HDR durchgeführt. Ein Objekt GdkColorState wurde vorgeschlagen, das Informationen zur Interpretation von Farben bereitstellt, die für die Umwandlung eines Farbmodis in ein anderes verwendet werden können. Ein Objekt Gdk.CicpParams wurde hinzugefügt, um Objekte mit Informationen zu Farbmodi zu erstellen. GdkTexture sowie Objekte zur Erstellung, Laden und Konvertierung von Texturen können nun Farbmodi nutzen.
    • Eine neue API zur Steuerung des Cursors basierend auf Callback-Aufrufen wurde implementiert.
    • Die Möglichkeit zur Durchführung von MIP-Texturoperationen (MipMap, Erstellung verkleinerter Versionen von Texturen, die bei der Entfernung des Objekts von der Kamera verwendet werden) wurde durch die CPU ermöglicht.
    • Für die Farbkonvertierung und MIP-Texturierung wird ein Thread-Pool eingesetzt.
    • Die Unterstützung der Umgebungsvariable XDG_ACTIVATION_TOKEN mit einem Aktivierungstoken für das Protokoll xdg-activation-v1 wurde hinzugefügt, wodurch eine Anwendung den Fokus auf eine andere Anwendung umschalten kann.
    • Die Klasse GdkMemoryTextureBuilder wurde hinzugefügt, die es ermöglicht, Objekte mit Texturen (GdkTexture) aus im Arbeitsspeicher gespeicherten Daten zu erstellen.
  • Die Möglichkeiten zur Erstellung von CSS-basierten Design-Themen wurden erweitert. Unterstützung für Variablen und benutzerdefinierte Eigenschaften wurde hinzugefügt. CSS-Funktionen wie color(), oklab(), color-mix() sowie mathematische Funktionen wurden implementiert. Eine relative Farbdarstellung (die Änderung absoluter Farben durch Funktionen) sowie die Angabe von Transparenzstufen in Prozent wurde ermöglicht. Bei der Arbeit mit Farben, Rahmen, Schatten und Text wird die Berücksichtigung der Informationen über Farbmodelle sichergestellt.
  • Im Tool rendernode-tool wurden die Befehle „extract“ zum Laden von Daten über URL und „image“ zur Manipulation von Texturen hinzugefügt. Die Möglichkeit zur Generierung von Dateien im PDF-Format wurde implementiert.
  • Im Interface gtk4-node-editor wurde die Aktion „Einfügen als Knoten“ hinzugefügt.
  • Im Datei-Auswahl-Widget GtkFileChooserWidget wurde die Unterstützung für die Kombination Ctrl-Shift-N zur Erstellung von Verzeichnissen hinzugefügt.
  • Im Widget zur Erstellung von Pop-ups, GtkPopover, wurde die Handhabung von Größen- und Positionsänderungen verbessert.
  • Im Widget GtkGraphicsOffload, das für die direkte Übertragung von Inhalten wie Videos über den Composite-Manager verwendet wird und GSK-Rendering umgeht, wurde die Eigenschaft „black-background“ für die Anzeige eines schwarzen Hintergrunds hinzugefügt.
    Das grafische Toolkit GTK 4.16 ist verfügbar.
  • Im Widget GtkGLArea, das für die Ausgabe mit OpenGL vorgesehen ist, wurde die Möglichkeit zur Erstellung von Texturen in dmabuf hinzugefügt, was die direkte Ausgabe über das Widget GtkGraphicsOffload ermöglicht. ServerDie Effizienz der Interaktion mit dem Composite-Manager wurde erhöht. Server.
    Das grafische Toolkit GTK 4.16 ist verfügbar.
  • Im Widget GtkTextView wurde die Unterstützung für die Anzeige von Text mit Schatten hinzugefügt, und die Möglichkeit zur Verwendung von GtkTextBufferCommitNotify-Benachrichtigungen wurde implementiert.
  • Im Widget GtkCheckButton wurde die Unterstützung für die gruppenweise Definition von Button-Stilen hinzugefügt.
  • Die Debugging-Möglichkeiten wurden erweitert. Im Inspektionsinterface wurden Informationen über Farbmodelle sowie Details zur Monitorauflösung hinzugefügt. Die Umgebungsvariable GDK_DEBUG wurde in GDK_DEBUG und GDK_DISABLE aufgeteilt. Die Modi GDK_DISABLE=color-mgmt und GDK_DISABLE=offload wurden hinzugefügt. Der Modus GTK_DEBUG=css wurde hinzugefügt, um Warnungen bei der Verwendung veralteter CSS-Funktionen auszugeben. Die Tastenkombinationen Super-r für die Protokollierung von Ereignissen und Super-c für die Erstellung von Screenshots wurden hinzugefügt.
  • Die Anforderungen an Abhängigkeiten und die Build-Umgebung wurden angehoben. Für den Build wird jetzt ein Compiler benötigt, der C11 unterstützt sowie mindestens Version 1.24 von GStreamer, 1.52 von Pango und 1.18 von Cairo. Die Unterstützung für veraltete Build-Modi gtk_doc (verwenden Sie documentation), update_screenshots (-> screenshots), demo-profile (-> profile) und demos (-> build-demos) wurde eingestellt.
  • Für macOS 10.15+ wurde eine Schnittstelle zur Farbbestimmung von Pixeln auf dem Bildschirm (Farbwähler) implementiert.
  • Für Windows wurde der Modus für inkrementelles Rendering unter Verwendung der WGL-API aktiviert.

Quelle: opennet.ru

60GB SSD 8Gb DDR4