{"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\/sv\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","title":{"rendered":"Nya renderingsmotorer f\u00f6r OpenGL och Vulkan har lagts till i GTK","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Utvecklarna av GTK-biblioteket har meddelat att tv\u00e5 nya rendering-motorer \u00e4r klara - \"ngl\" och \"vulkan\" - som anv\u00e4nder grafiska API:er OpenGL (GL 3.3+ och GLES 3.0+) och Vulkan. Dessa nya motorer \u00e4r inkluderade i den experimentella versionen GTK 4.13.6. I den experimentella branchen anv\u00e4nds motoren ngl som standard, men om betydande problem uppt\u00e4cks i n\u00e4sta stabila version 4.14 kommer den gamla rendering-motoren \"gl\" att \u00e5terv\u00e4nda.    <\/p>\n<p>De nya motorerna positioneras som enhetliga och byggs fr\u00e5n en gemensam kodbas. K\u00e4rnan i enheten \u00e4r att API Vulkan anv\u00e4nds som grund, ovanp\u00e5 vilket ett separat abstraheringslager skapats f\u00f6r OpenGL som tar h\u00e4nsyn till skillnaderna mellan OpenGL och Vulkan. Denna metod har m\u00f6jliggjort att b\u00e5da motorerna anv\u00e4nder en gemensam infrastruktur f\u00f6r att hantera scenens graf (scene graph), transformationer, textur- och glyff-cache. Enheten har ocks\u00e5 avsev\u00e4rt f\u00f6renklat underh\u00e5llet av kodbasen f\u00f6r b\u00e5da motorerna och att h\u00e5lla dem aktuella och synkroniserade.     <\/p>\n<p>Till skillnad fr\u00e5n den gamla motoren \"gl\", d\u00e4r en separat enkel shader anv\u00e4ndes f\u00f6r varje typ av renderingsnod (rendernode) och data periodiskt sorterades om vid offscreen-rendering, anv\u00e4nder de nya motorerna ist\u00e4llet en komplex shader (ubershader) som tolkar data fr\u00e5n bufferten. I nuvarande skick ligger den nya implementeringen fortfarande efter den gamla n\u00e4r det g\u00e4ller optimeringar, eftersom fokus i det aktuella skedet ligger p\u00e5 korrekt funktion och enkel underh\u00e5ll.    <\/p>\n<p>Nya funktioner som saknas i den gamla motoren \"gl\":  <\/p>\n<ul>\n<li class=\"l\"> Kantutj\u00e4mning - vilket g\u00f6r det m\u00f6jligt att bevara sm\u00e5 detaljer och uppn\u00e5 mer j\u00e4mna konturer.    <center><img decoding=\"async\" alt=\"Nya renderingsmotorer f\u00f6r OpenGL och Vulkan har lagts till i GTK\" src=\"\/wp-content\/uploads\/2024\/01\/dc690b87095af7bca8d2826ebb3a9584.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Skapande av godtyckliga gradienter, som kan anv\u00e4nda ett valfritt antal f\u00e4rger och kantutj\u00e4mning (den gamla motorn \"gl\" st\u00f6dde endast linj\u00e4ra, radiala och koniska gradienter med 6 stoppf\u00e4rger).      <center><img decoding=\"async\" alt=\"Nya renderingsmotorer f\u00f6r OpenGL och Vulkan har lagts till i GTK\" src=\"\/wp-content\/uploads\/2024\/01\/331c81cddc35e00e08db425a38d90dca.png\" style=\"display:block;margin: 0 auto;\" \/><\/center>\n<li class=\"l\"> Dela upp skalning (fractional scale) som g\u00f6r det m\u00f6jligt att st\u00e4lla in icke-heltaliga skalv\u00e4rden, till exempel, om ett f\u00f6nster p\u00e5 1200\u00d7800 har en skala p\u00e5 125% kommer en buffert p\u00e5 1500\u00d71000 att avs\u00e4ttas, ist\u00e4llet f\u00f6r 2400\u00d71600 som i den gamla motorn.\n<li class=\"l\"> St\u00f6d f\u00f6r DMA-BUF-teknologi f\u00f6r att anv\u00e4nda flera GPU:er och utf\u00f6ra separata operationer p\u00e5 en annan GPU.\n<li class=\"l\"> M\u00e5nga rendering-noder som hade problem med den gamla implementeringen hanteras korrekt.  <\/ul>\n<p>De nya motorernas begr\u00e4nsningar inkluderar bristen p\u00e5 st\u00f6d f\u00f6r positionering med icke hela v\u00e4rden (fraktionell position) och glshader-noder, som var starkt knutna till den gamla motorns s\u00e4rdrag, och d\u00e4r behovet f\u00f6rsvann efter att st\u00f6d f\u00f6r mask-noder och genomskinliga texturer lagts till. Det n\u00e4mns ocks\u00e5 en m\u00f6jlighet till problem med grafikdrivrutiner p\u00e5 grund av f\u00f6r\u00e4ndringar i hur man arbetar med drivrutiner.      <\/p>\n<p>I framtiden \u00e4r det inte orealistiskt att skapa rendering-motorer baserade p\u00e5 den nya enhetliga modellen, som anv\u00e4nder Metal i macOS och DirectX i Windows, men skapandet av s\u00e5dana motorer f\u00f6rsv\u00e5ras av anv\u00e4ndningen av andra spr\u00e5k f\u00f6r shaders (i motorerna \"ngl\" och \"vulkan\" anv\u00e4nds spr\u00e5ket GLSL, s\u00e5 f\u00f6r Metal och Direct m\u00e5ste antingen shaders dupliceras eller en lager p\u00e5 SPIRV-Cross-verktyget anv\u00e4ndas).    <\/p>\n<p>I framtiden planeras st\u00f6d f\u00f6r HDR och verktyg f\u00f6r korrekt f\u00e4rghantering, st\u00f6d f\u00f6r path rendering p\u00e5 GPU-sidan, m\u00f6jligheten att rendera gliffar, rendering utanf\u00f6r huvudtr\u00e5den och prestationsoptimering f\u00f6r \u00e4ldre och svagare enheter. I sin nuvarande form ligger prestandan f\u00f6r motorn \"vulkan\" n\u00e4ra prestandan f\u00f6r den gamla motorn \"gl\". Motorn \"ngl\" ligger efter i prestanda j\u00e4mf\u00f6rt med den gamla motorn \"gl\", men de nuvarande siffrorna \u00e4r tillr\u00e4ckliga f\u00f6r att rendera med en frekvens p\u00e5 60 eller 144 FPS. Det f\u00f6rv\u00e4ntas att situationen kommer att f\u00f6r\u00e4ndras efter genomf\u00f6rd optimering.<br \/>\n<br \/>K\u00e4lla: <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.4 - 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\/sv\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Nya rendering-motorer f\u00f6r OpenGL och Vulkan har lagts till i GTK | ProHoster","description":"Utvecklarna av GTK-biblioteket har meddelat att tv\u00e5 nya rendering-motorer, \"ngl\" och \"vulkan\", som anv\u00e4nder grafik-API:er OpenGL (GL 3.3+ och GLES 3.0+) och Vulkan \u00e4r klara.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/v-gtk-dobavleny-novye-dvizhki-otrisovki-dlya-opengl-i-vulkan","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/113225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=113225"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/113225\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/113226"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=113225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=113225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=113225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}