հետո անցկացում , պարգևում է Direct3D 9-ի իրականացում, որն աշխատում է զանգերի թարգմանության միջոցով գրաֆիկական API-ում . Խանութը հիմնված է նախագծի կոդային հիմքի վրա , որը ընդլայնվեց Direct3D 9-ի աջակցությամբ: Համեմատաբար WineD3D-ի օժանդակությամբ Direct3D 9-ի իրականացման, D9VK-ն թույլ է տալիս ավելի բարձր կատարողականություն, քանի որ Direct3D 9-ի թարգմանությունը OpenGL-ի միջոցով աշխատում է դանդաղ niż Vulkan-ի միջոցով թարգմանությունը:
D9VK-ն կարող է օգտագործվել 3D ծրագրերի և խաղերի գործարկման համար Linux-ում Wine-ի միջոցով: Դրսևորվում է Direct3D 9 վրա հիմնված խաղերի հիմնական մասի գործարկումը, որը օգտագործում է Shader Model 2 կամ 3: Որպես նախագծի կոդ թվային ազատ լիցենզիայի ներքո Zlib: D9VK օգտագործելու համար անհրաժեշտ են Vulkan API-ի օժանդակությամբ վարորդներ, ինչպիսիք են AMD RADV 18.3+, NVIDIA 415.22+, Intel ANV 19.0+ և AMDVLK:
Հիմնական բարելավումներ՝
- Կիրառված է ավելի քան 4 ԳԲ տեսանկարահսկողության օգտագործման հնարավորություն 32-պատարիկային ծրագրերում, ինչը լուծեց Skyrim և Oblivion խաղերում մոդերի գործարկման հարցերը;
- Ներառվել է վերջնական արդյունքի ռենդերացման քաղվածքի ներկայությունը (presentation փուլ): Դանդաղությունները նվազեցնելու համար հիմնական ռենդերացման ընթացքում, արդյունքների քաղվածքը կատարվում է հրամանների փոխանցման թեթևոցում (command submission thread);
- Հանվել են ավելորդ համաժամանակային կետեր հրամանների ընթացքի ընթացքում զեկուցվող տվյալների տրամադրման ժամանակ;
- Ներքին ժամանակի որոշման կոդը վերափոխվել է հատուկ հարթակային ժամային ժամացույցի օգտագործման, ինչը օգնեց լուծել MinGW-ից high_resolution_clock-ի հետ կապված անհանգիստ վարքի հարցերը;
- Մեծացած են MANAGED և SYSTEMMEM սնուցման հիշողության մաշվածությունները PrepareDraw կատարելու փուլում, ինչը լուծեց Risen և Legend of the Heroes: Trails of the Sky խաղերում արդյունավետության խնդիրները;
- Ավելացված է աջակցություն , որը թույլ տվեց իրականացնել պատշաճ ռենդերավորում SpinTyres և Mudrunner խաղերում;
- Ավելի բարձրացվել է (D3D9Ex). Ընկալվել են ResetEx և Reset գործառույթների մշակման առանձնահատկությունները;
- Ակտիվացված են կոդի մաքրման և վերագեղագրումների գործընթացները;
- Կատարվել է WRITEONLY բուֆերների ուղղակի մապինգ, որ կարող է դրական ազդեցություն ունենալ կատարողականի և լիցքավորված սխալը, որը պատահում է խաղում
Counter-Strike: Global Offensive, որի արդյունքում բուֆերում շարունակական գրանցումը կարող է լինել նրա բացակայության դեպքում; - Կատարվել է SetDialogBoxMode մեթոդ հաստատման ազդակների խառնաժանի
- դիտումների մանիֆեստին նշված է , անհրաժեշտ SWVP (SoftWare Vertex Processing) համար;
- Վերանայված է HUD-ն, որին կապվում է ընթացիկ պատկերները (heads-up display);
- Ավելացված է d3d9.dialogBoxMode ընտրանքը, որը հնարավոր է օգտագործել միայն ամբողջական էկրանով կիրառվող սարքերի համար;
- Ներառվել են կատարողականի օպտիմիզացիաներ և լուծվել են խնդիրները, որոնք առաջանում են GTA: San Andreas, The Masquerade Bloodlines, Max Payne 2, The Sims 2, Silent Hunter 3, Senran Kagura Shinovi, Dungeons and Dragons, Crysis, Metal Slug X, ANGLE, Need for Speed: Carbon և Risen 1 խաղերի ընթացքում:
Ավելին, կարելի է նշել նախագծի մշակող (DXGI, Direct3D 10 և Direct3D 11 Vulkan API-ի վրա իրականացումը) ժամանակավոր տվյալները կենտրոնացնելու համար կարող են միայն վրիպակները, դանդաղեցնել գործառույթների ընդլայնումը: Այսպիսի ցանկությունը կոդի բազայի որակի նվազման և ապագայում պահպանման բարդացման վախերից: 1.4.x ճյուղի յուրաքանչյուր թարմացումը բերում է հետադարձ բողոքների առաջացման՝ որոնց կրկնօրինակման, տեղակայման և շտկման ունակությունը չի ապահովվում:
Այս խնդիրները պահանջում են պատճառների հետազոտություն, հակառակ դեպքում դրանց աննշան թողնելու դեպքում գործառույթների ավելացման ընթացքը միայն կսպասիրի վիճակը և վերապահման գործընթացը կվերածվի մղձավանջի: DXVK-ի մշակողները նախատեսում են, որ ծրագրի նախնական պլանները, որոնք նախատեսվում են իրականացնել սխալների միայն շտկման ռեժիմի անցումից առաջ, ներառում են Vulkan-ի որոշ օգտակար ընդլայնումների աջակցությունը և D9VK նախագիծի նվաճումների միաձուլումը:
Լրացուցիչ: տաք հետքերով D9VK 0.40.1-ի ուղղող թողարկումը, որը vec4(1) DEFAULT արժեքում COLOR0-ի համար vertex shader-ներում և կարգավորել է այն շեղումը, որի պատճառով shader-ի ելքերի համար սլոթերի միջուկները սխալ կիրառվել են՝ հետևաբար դիվերսիանալով այն vec4(0)-ի վրա:
Ընտանիք: opennet.ru
