{"id":113225,"date":"2024-01-29T12:50:31","date_gmt":"2024-01-29T10:50:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan"},"modified":"2024-01-29T12:50:31","modified_gmt":"2024-01-29T10:50:32","slug":"v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","title":{"rendered":"In GTK wurden neue Render-Engines f\u00fcr OpenGL und Vulkan hinzugef\u00fcgt.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Die Entwickler der GTK-Bibliothek haben die Fertigstellung von zwei neuen Rendering-Engines bekannt gegeben \u2013 \u201engl\u201c und \u201evulkan\u201c, die die Grafik-APIs OpenGL (GL 3.3+ und GLES 3.0+) sowie Vulkan nutzen. Die neuen Engines sind Teil der experimentellen Ver\u00f6ffentlichung von GTK 4.13.6. In der experimentellen GTK-Branch wird das ngl-Engine nun standardm\u00e4\u00dfig verwendet, aber sollten im n\u00e4chsten stabilen Branch 4.14 wesentliche Probleme gefunden werden, wird die alte Rendering-Engine \u201egl\u201c zur\u00fcckgebracht.    <\/p>\n<p>Die neuen Engines sind als einheitlich positioniert und werden aus einer gemeinsamen Codebasis erstellt. Die Grundidee der Vereinheitlichung besteht darin, dass die API Vulkan als Grundlage dient, auf der eine separate Abstraktionsebene f\u00fcr OpenGL geschaffen wurde, die die Unterschiede zwischen OpenGL und Vulkan ber\u00fccksichtigt. Dieser Ansatz hat es erm\u00f6glicht, in beiden Engines eine gemeinsame Infrastruktur f\u00fcr die Verarbeitung des Szenengraphen, Transformationen, das Caching von Texturen und Glyphen zu nutzen. Die Vereinheitlichung hat zudem die Wartung der Codebasis beider Engines erheblich vereinfacht und sorgt daf\u00fcr, dass sie aktuell und synchronisiert bleibt.     <\/p>\n<p>Im Gegensatz zur alten Engine \u201egl\u201c, bei der f\u00fcr jeden Typ von Rendering-Knoten (rendernode) ein separater einfacher Shader verwendet wurde und eine periodische Neusortierung der Daten beim Offscreen-Rendering ausgef\u00fchrt wurde, kommt in den neuen Engines anstelle des Offscreen-Renderings ein komplexer Shader (ubershader) zum Einsatz, der die Daten aus dem Puffer interpretiert. In der aktuellen Ausf\u00fchrung hinkt die neue Implementierung der alten in Bezug auf den Optimierungsgrad hinterher, da der Schwerpunkt in der aktuellen Phase auf der Korrektheit der Funktionalit\u00e4t und der einfachen Wartung liegt.    <\/p>\n<p>Neue Funktionen, die in der alten Engine \u201egl\u201c fehlen:  <\/p>\n<ul>\n<li class=\"l\"> Antialiasing \u2013 erm\u00f6glicht es, feine Details zu bewahren und gleichm\u00e4\u00dfigere Konturen zu zeichnen.    <center><img decoding=\"async\" alt=\"In GTK wurden neue Render-Engines f\u00fcr OpenGL und Vulkan hinzugef\u00fcgt.\" src=\"\/wp-content\/uploads\/2024\/01\/dc690b87095af7bca8d2826ebb3a9584.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Erstellung beliebiger Gradienten, die eine beliebige Anzahl von Farben und Antialiasing verwenden k\u00f6nnen (in der Engine \u201egl\u201c wurden nur lineare, radiale und konische Gradienten mit 6 Farbstopps unterst\u00fctzt).      <center><img decoding=\"async\" alt=\"In GTK wurden neue Render-Engines f\u00fcr OpenGL und Vulkan hinzugef\u00fcgt.\" src=\"\/wp-content\/uploads\/2024\/01\/331c81cddc35e00e08db425a38d90dca.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Fractional Scaling, das es erm\u00f6glicht, nicht ganzzahlige Skalierungswerte festzulegen; zum Beispiel wird bei einer Skalierung von 125% f\u00fcr ein Fenster von 1200\u00d7800 ein Puffer von 1500\u00d71000 zugewiesen, und nicht 2400\u00d71600 wie in der alten Engine.\n<li class=\"l\"> Unterst\u00fctzung der DMA-BUF-Technologie zur Nutzung mehrerer GPUs und zur Auslagerung einzelner Operationen auf eine andere GPU.\n<li class=\"l\"> Viele Rendering-Knoten, die in der alten Implementierung problematisch waren, werden jetzt korrekt verarbeitet.  <\/ul>\n<p>Zu den Einschr\u00e4nkungen der neuen Engines geh\u00f6rt das Fehlen der Unterst\u00fctzung f\u00fcr die Positionierung mit nicht ganzzahligen Werten (fractional position) und Knoten glshader, die stark auf die Merkmale der alten Engine angewiesen waren und nach der Einf\u00fchrung der Unterst\u00fctzung f\u00fcr Knoten mit Masken (mask) und Texturen mit Transparenz \u00fcberfl\u00fcssig wurden. Zudem wird auf die M\u00f6glichkeit hingewiesen, dass es m\u00f6glicherweise Probleme mit den Grafikk Treibern geben kann, die durch die \u00c4nderung der Arbeitsweise mit den Treibern bedingt sind.      <\/p>\n<p>In Zukunft ist auf Basis des neuen einheitlichen Modells nicht ausgeschlossen, Rendering-Engines zu erstellen, die Metal in macOS und DirectX in Windows verwenden, aber die Erstellung solcher Engines wird durch die Verwendung anderer Sprachen f\u00fcr Shader erschwert (in den Engines \u201engl\u201c und \u201evulkan\u201c wird die Sprache GLSL eingesetzt, daher m\u00fcssen f\u00fcr Metal und Direct entweder die Shader dupliziert oder eine Schicht auf Basis des SPIRV-Cross-Tools verwendet werden).    <\/p>\n<p>Zu den Zukunftspl\u00e4nen geh\u00f6rt die Gew\u00e4hrleistung der Unterst\u00fctzung von HDR und Mitteln zur korrekten Farbverwaltung, die Unterst\u00fctzung von Path Rendering auf der GPU-Seite, die M\u00f6glichkeit des Renderns von Glyphen, Rendering au\u00dferhalb des Hauptthreads und die Optimierung der Leistung f\u00fcr alte und leistungsschwache Ger\u00e4te. Derzeit ist die Leistung der \u201evulkan\u201c-Engine nahe an der Leistung der alten \u201egl\u201c-Engine. Die \u201engl\u201c-Engine hinkt in der Leistung hinter der alten \u201egl\u201c-Engine zur\u00fcck, aber die vorhandenen Werte sind ausreichend, um mit 60 oder 144 FPS zu rendern. Es wird angenommen, dass sich die Situation nach der Durchf\u00fchrung von Optimierungen \u00e4ndern wird.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60515\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 &#8212; &#171;ngl&#187; \u0438 &#171;vulkan&#187;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan. \u041d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 GTK 4.13.6. \u0412 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 GTK \u0434\u0432\u0438\u0436\u043e\u043a ngl \u0442\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 4.14 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":113226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-113225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 GTK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0434\u043b\u044f OpenGL \u0438 Vulkan | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-01-29T10:50:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-01-29T10:50:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Neue Rendering-Engines f\u00fcr OpenGL und Vulkan in GTK hinzugef\u00fcgt | ProHoster","description":"Die Entwickler der GTK-Bibliothek haben die Fertigstellung zweier neuer Rendering-Engines bekannt gegeben - \"ngl\" und \"vulkan\", die die Grafik-APIs OpenGL (GL 3.3+ und GLES 3.0+) sowie Vulkan nutzen.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 GTK \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u043e\u0432\u044b\u0435 \u0434\u0432\u0438\u0436\u043a\u0438 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0434\u043b\u044f OpenGL \u0438 Vulkan | ProHoster","og:description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GTK \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438 \u043e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u0438 \u0434\u0432\u0443\u0445 \u043d\u043e\u0432\u044b\u0445 \u0434\u0432\u0438\u0436\u043a\u043e\u0432 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 - &quot;ngl&quot; \u0438 &quot;vulkan&quot;, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 API OpenGL (GL 3.3+ \u0438 GLES 3.0+) \u0438 Vulkan.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-01-29T10:50:32+00:00","article:modified_time":"2024-01-29T10:50:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/113225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=113225"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/113225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/113226"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=113225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=113225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=113225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}