Ба GTK муҳаррикҳои нав барои OpenGL ва Вулкан илова карда шуданд

Таҳиягарони китобхонаи GTK дар бораи мавҷудияти ду муҳаррики нави рендеринг - "ngl" ва "vulkan" бо истифода аз API-ҳои OpenGL (GL 3.3+ ва GLES 3.0+) ва графикаи Vulkan эълон карданд. Муҳаррикҳои нав ба нашри таҷрибавии GTK 4.13.6 дохил карда шудаанд. Дар филиали таҷрибавии GTK, ҳоло муҳаррики ngl ба таври нобаёнӣ истифода мешавад, аммо агар дар филиали устувори навбатии 4.14 мушкилоти ҷиддӣ муайян карда шаванд, муҳаррики кӯҳнаи "gl" баргардонида мешавад.

Муҳаррикҳои нав ҳамчун ягона ҷойгир карда шудаанд ва аз як пойгоҳи ягонаи код ҷамъ карда мешаванд. Моҳияти муттаҳидшавӣ дар он аст, ки API Vulkan ҳамчун асос истифода мешавад, ки дар болои он барои OpenGL сатҳи ҷудогонаи абстраксия бо назардошти фарқиятҳои байни OpenGL ва Vulkan сохта шудааст. Ин равиш имкон дод, ки инфрасохтори умумӣ дар ҳарду муҳаррик барои коркарди графики саҳна, тағирот, кэшкунии матнҳо ва глифҳо истифода шавад. Муттаҳидсозӣ инчунин нигоҳдории пойгоҳи рамзии ҳарду муҳаррикро ба таври назаррас содда кард ва онҳоро навсозӣ ва ҳамоҳангсозӣ кард.

Баръакси муҳаррики кӯҳнаи gl, ки барои ҳар як намуди гиреҳи рендер шэйдери алоҳидаи оддиро истифода мебурд ва маълумотро дар вақти намоиши берун аз экран мунтазам аз нав мураттаб мекард, муҳаррикҳои нав ба ҷои намоиши берун аз экран шэйдери мураккабро (ubershader) истифода мебаранд, ки маълумотро аз буфер шарҳ медиҳад. . Татбиқи нав дар шакли ҳозираи худ аз нигоҳи сатҳи оптимизатсияҳо то ҳол аз тарҳи кӯҳна қафо мемонад, зеро таваҷҷӯҳи асосӣ дар марҳилаи кунунӣ ба кори дуруст ва осонии нигоҳдорӣ нигаронида шудааст.

Хусусиятҳои наве, ки дар муҳаррики кӯҳнаи gl мавҷуд нестанд:

  • Ҳамворкунии контур - ба шумо имкон медиҳад, ки ҷузъиёти хубро нигоҳ доред ва ба контурҳои ҳамвор ноил шавед.
    Ба GTK муҳаррикҳои нав барои OpenGL ва Вулкан илова карда шуданд
  • Ташаккули градиентҳои худсарона, ки метавонанд шумораи дилхоҳи рангҳоро истифода баранд ва антиалиасингро истифода баранд (дар муҳаррики gl танҳо градиентҳои хатӣ, радиалӣ ва конусӣ бо 6 ранги қатъӣ дастгирӣ карда мешаванд).
    Ба GTK муҳаррикҳои нав барои OpenGL ва Вулкан илова карда шуданд
  • Миқёси фраксионалӣ, ки ба шумо имкон медиҳад, ки қиматҳои миқёси ғайри бутунро муқаррар кунед, масалан, ҳангоми истифодаи шкалаи 125% барои равзанаи 1200x800, буфери 1500x1000 ҷудо карда мешавад, на 2400x1600 мисли муҳаррики кӯҳна.
  • Дастгирии технологияи DMA-BUF барои истифодаи якчанд GPU ва боркунии амалиёти инфиродӣ ба дигар GPU.
  • Бисёр гиреҳҳои визуалӣ, ки дар татбиқи кӯҳна мушкилот доштанд, дуруст коркард карда мешаванд.

Маҳдудиятҳои муҳаррикҳои нав мавҷуд набудани дастгирии мавқеъро аз рӯи арзишҳои ғайритаъминӣ (мавқеи касрӣ) ва гиреҳҳои glshader, ки ба хусусиятҳои муҳаррики кӯҳна сахт алоқаманд буданд ва пас аз илова кардани дастгирӣ дигар лозим набуданд, дар бар мегиранд. гиреҳҳо бо ниқоб (ниқоб) ва матн бо шаффофият. Инчунин қайд карда мешавад, ки эҳтимолияти мушкилоти эҳтимолии драйверҳои графикӣ дар натиҷаи тағир додани усули кор бо драйверҳо вуҷуд дорад.

Дар оянда, дар асоси модели нави ягона, эҷоди муҳаррикҳои рендерингӣ бо истифода аз Metal дар macOS ва DirectX дар Windows истисно нест, аммо эҷоди чунин муҳаррикҳо бо истифода аз забонҳои дигар барои шейдерҳо ("ngl") душвор аст. ” ва муҳаррикҳои “vulkan” забони GLSL-ро истифода мебаранд, аз ин рӯ барои Metal ва Direct бояд ё шейдерҳоро такрор кунанд ё қабатеро дар асоси абзори SPIRV-Cross истифода баранд).

Нақшаҳои оянда пешниҳоди дастгирии HDR ва абзорҳо барои идоракунии дурусти ранг, дастгирии намоиши роҳ дар тарафи GPU, қобилияти намоиш додани глифҳо, намоиши берун аз ҷараён ва оптимизатсияи кор барои дастгоҳҳои кӯҳна ва камқувватро дар бар мегиранд. Дар шакли хозирааш кори двигатели «вулкан» ба кори мотори кухнаи «гл» наздик аст. Муҳаррики "ngl" аз ҷиҳати иҷроиш аз муҳаррики кӯҳнаи "gl" пасттар аст, аммо иҷрои дастрас барои намоиш дар 60 ё 144 FPS кифоя аст. Интизор меравад, ки вазъ пас аз оптимизатсия тағйир ёбад.

Манбаъ: opennet.ru

Илова Эзоҳ