Թողարկվել է Box64 էմուլյատոր 0.4.0-ը, որը նախատեսված է աշխատելու համար։ Linux- ծրագրեր, որոնք կազմվել են x86_64 ճարտարապետության համար, ARM64, RISC-V և Loongarch64 պրոցեսորներով սարքավորումների վրա: Նախագիծը մեծ ուշադրություն է դարձնում խաղային ծրագրերի մեկնարկի կազմակերպմանը և հնարավորություն է տալիս մեկնարկել Windows-կառուցվում է Wine-ի և Proton-ի միջոցով։ Նախագծի սկզբնական կոդը գրված է C լեզվով և տարածվում է MIT լիցենզիայով։
Նախագծի առանձնահատկությունը հիբրիդային կատարման մոդելի օգտագործումն է, որի դեպքում էմուլյացիան կիրառվում է միայն ծրագրի մեքենայական կոդի և որոշակի գրադարանների վրա։ Ընդհանուր համակարգային գրադարանները, ներառյալ libc, libm, GTK, SDL, Vulkan և OpenGL, փոխարինվում են թիրախային հարթակներին համապատասխանող տարբերակներով։ Այս կերպ, գրադարանային կանչերը կատարվում են առանց էմուլյացիայի, ինչը թույլ է տալիս զգալիորեն բարձրացնել կատարողականությունը։
Այն կոդի էմուլյացիան, որի համար թիրախային հարթակի համար բնիկ փոխարինողներ հասանելի չեն, իրականացվում է դինամիկ վերակազմակերպման տեխնիկայի (DynaRec) միջոցով՝ մեկ մեքենայական հրահանգների հավաքածուից մյուսը։ Մեքենայական հրահանգների մեկնաբանման համեմատ, դինամիկ վերակազմակերպումը ցույց է տալիս 5-10 անգամ ավելի մեծ արդյունավետություն։ բարձր արդյունավետություն.
Նոր տարբերակում.
- Ներկայացվել է միասնական նախածանցային օպկոդի դեկոդեր, որը ներդրվել է մեկնաբանիչում և բոլոր դինամիկ վերակազմակերպման բեքենդներում (DynaRec): Նոր դեկոդերն ավելի հետևողականորեն է մշակում հազվագյուտ օպկոդի նախածանցների համադրությունները՝ վերացնելով որոշակի կոտրվածքներ և կոդի կրկնօրինակում մեկնաբանիչում և DynaRec բեքենդներում: Դեկոդերի վերաձևավորումը հեռացնում է ավելորդ կոդը, պարզեցնում կոդի բազայի պահպանումը և հնարավորություն է տալիս DynaRec-ին մշակել օպկոդի նախածանցների ոչ տիպիկ համադրություններ:
- Սկսվել են աշխատանքներ հիշողությունից բնօրինակ կոդի վերածված, բայց այլևս չօգտագործվող կոդի բլոկները հեռացնելու մեխանիզմի վրա: Այս օպտիմալացումը օգնում է նվազեցնել հիշողության սպառումը, երբ գործարկվում են այնպիսի ծրագրեր, որոնք գործարկման ժամանակ կատարում են մեծ թվով գործողություններ, ինչպիսիք են Steam-ը և libcef օգտագործող ծրագրերը:
- ARM64 ճարտարապետության բարելավված աջակցություն. ներդրվել է NVIDIA GB10 CPU-ի համար կառուցվածքային պրոֆիլ: Դինամիկ վերակազմակերպման ներքին համակարգը (DynaRec) շարունակել է իրականացնել ցիկլի օպտիմալացման տեխնիկաներ, ինչպիսիք են XMM/YMM գրանցամատյանների վերագրման գործողությունները ցիկլի մարմնից դուրս տեղափոխելը:
- RISC-V ճարտարապետության համար դինամիկ վերակազմակերպման բեքենդի կայունության և աշխատանքի բարելավում: Սա ապահովում է Steam-ի, Proton-ի և Wine-ի պատշաճ մեկնարկը, բայց DRM-ով պաշտպանված բովանդակության համար անհրաժեշտ է համակարգային կանչի էմուլյացիա: Windows, պահանջում է 48-բիթային հասցեների տարածքի (SV48) կամ Wine-ի և Proton-ի փոփոխված տարբերակների աջակցությամբ սարքավորում։
- Loongarch ճարտարապետության համար backend մշակումը զգալի առաջընթաց է գրանցել, ինչը թույլ է տվել այն աշխատեցնել Steam, Wine և Proton համակարգերը, սակայն ֆունկցիոնալությամբ այն դեռևս հետ է մնում ARM64 համակարգերի backend-ից։ Ներկայումս այն պահանջում է 4K հիշողության էջ միջուկում (Loongarch-ը սովորաբար լռելյայնորեն սահմանում է 16K): Այժմ արտադրողականությունը բավարար է Loongarch 3A6000 պրոցեսորի վրա (2.5 GHz 4 ֆիզիկական միջուկով) խաղեր աշխատացնելու համար։

- Box32 ռեժիմի կայունությունը, որը Box64-ում ապահովում է 32-բիթանոց կատարվող ֆայլերի աջակցություն, բարելավվել է: Այս ռեժիմը բարելավում է Steam-ի կայունությունը բոլոր ճարտարապետություններում և հնարավորություն է տալիս օգտագործել խաղի ներսում առկա ծածկույթները որոշ OpenGL խաղերում:
Source: opennet.ru

