Box86 0.2.6 ۽ Box64 0.1.8 ايموليٽرز جا ريليز شايع ڪيا ويا آهن، جيڪي X86 ۽ x86_64 آرڪيٽيڪچرز لاءِ ARM، ARM64، PPC64LE ۽ RISC-V پروسيسرز سان گڏ سامان تي مرتب ڪيل لينڪس پروگرامن کي هلائڻ لاءِ ٺهيل آهن. پروجيڪٽ ڊولپرز جي هڪ ٽيم پاران هم وقت سازي سان ٺاهيا ويا آهن - Box86 32-bit x86 ايپليڪيشنن کي هلائڻ جي صلاحيت تائين محدود آهي، ۽ Box64 64-bit executables کي هلائڻ جي صلاحيت فراهم ڪري ٿو. پروجيڪٽ گيمنگ ايپليڪيشنن جي لانچ کي منظم ڪرڻ تي تمام گهڻو ڌيان ڏئي ٿو، بشمول وائن ۽ پروٽون ذريعي ونڊوز بلڊز کي لانچ ڪرڻ جي صلاحيت مهيا ڪرڻ. پروجيڪٽ جو سورس ڪوڊ C ۾ لکيل آهي ۽ MIT لائسنس تحت ورهايو ويو (Box86, Box64).
پروجيڪٽ جي هڪ خاصيت هڪ هائبرڊ عملدرآمد ماڊل جو استعمال آهي، جنهن ۾ ايموليشن صرف ايپليڪيشن جي مشين ڪوڊ ۽ مخصوص لائبريرين تي لاڳو ٿئي ٿي. عام سسٽم لائبريريون، جن ۾ libc، libm، GTK، SDL، Vulkan ۽ OpenGL شامل آهن، انهن اختيارن سان متبادل آهن جيڪي ٽارگيٽ پليٽ فارمن لاءِ آهن. هن طريقي سان، لائبريري ڪالون بغير تخليق ڪيا ويا آهن، نتيجي ۾ اهم ڪارڪردگي حاصلات.
ڪوڊ جي ايموليشن جنهن جي لاءِ ڪو به متبادل نه آهي اصل ۾ ٽارگيٽ پليٽ فارم جي هڪ ٽيڪنڪ استعمال ڪندي متحرڪ ريڪمپيليشن (DynaRec) مشين جي هدايتن جي هڪ سيٽ کان ٻئي ڏانهن. مشين جي هدايتن جي تشريح ڪرڻ جي مقابلي ۾، متحرڪ ٻيهر ٺاھڻ 5-10 ڀيرا وڌيڪ ڪارڪردگي ڏيکاري ٿو.
ڪارڪردگي جي تجربن ۾، Box86 ۽ Box64 ايموليٽر، جڏهن Armhf ۽ Aarch64 پليٽ فارمن تي عمل ڪيو ويو، خاص طور تي QEMU ۽ FEX-emu پروجيڪٽس کان وڌيڪ ڪارڪردگي ڏيکاريا، ۽ انفرادي ٽيسٽن ۾ (glmark2، openarena) انهن ڪارڪردگي حاصل ڪئي هڪجهڙائي واري اسيمبلي کي هلائڻ لاءِ. پليٽ فارم. compute-intensive 7-zip ۽ dav1d ٽيسٽن ۾، Box64 جي ڪارڪردگي 27٪ کان 53٪ تائين هئي ڏيهي ايپليڪيشن جي ڪارڪردگي (مقابلي لاءِ، QEMU 5-16٪ جا نتيجا ڏيکاريا، ۽ FEX-emu - 13-26٪ ). اضافي طور تي، هڪ مقابلو ڪيو ويو Rosetta 2 ايموليٽر سان، ايپل پاران استعمال ڪيو ويو x86 ڪوڊ هلائڻ لاءِ سسٽم تي M1 ARM چپ سان. Rosetta 2 7zip-based test مهيا ڪيو 71% جي ڏيهي تعمير جي ڪارڪردگي سان، ۽ Box64 - 57%.
ايپليڪيشنن سان مطابقت جي طور تي، 165 راندين مان آزمائشي، اٽڪل 70٪ ڪاميابي سان ڪم ڪيو. اٽڪل 10٪ ٻيو ڪم، پر ڪجهه تحفظات ۽ پابندين سان. سپورٽ ٿيل گيمز ۾ شامل آهن WorldOfGoo، Airline Tycoon Deluxe، FTL، Undertale، A Risk of Rain، Cook Serve Delicious ۽ سڀ کان وڌيڪ GameMaker رانديون. انهن راندين ۾ جن ۾ مسئلن جو ذڪر ڪيو ويو آهي، انهن راندين جو ذڪر ڪيو ويو آهي جيڪو يونٽي 3 ڊي انجڻ تي ٻڌل آهي، جيڪو مونو پيڪيج سان ڳنڍيل آهي، جنهن جي ايموليشن هميشه مونو ۾ استعمال ٿيندڙ JIT جي تاليف جي ڪري ڪم نه ڪندي آهي، ۽ اهو پڻ مناسب آهي. اعلي گرافڪس گهرجون جيڪي هميشه ARM بورڊن تي حاصل نه هوندا آهن. GTK ايپليڪيشن لائبريرين جو متبادل في الحال GTK2 تائين محدود آهي (GTK3/4 جو متبادل مڪمل طور تي لاڳو نه ڪيو ويو آهي).
نئين رليز ۾ مکيه تبديليون:
- Vulkan لائبريري لاء پابند شامل ڪيو ويو. شامل ڪيل سپورٽ Vulkan ۽ DXVK گرافڪس API لاءِ (DXGI جو نفاذ، Direct3D 9، 10 ۽ 11 Vulkan جي چوٽي تي).
- GTK لائبريرين لاءِ بهتر ٿيل پابنديون. gstreamer ۽ لائبريرين لاءِ شامل ٿيل بائنڊنگس عام طور تي GTK ايپليڪيشنن ۾ استعمال ٿيل آهن.
- RISC-V ۽ PPC64LE آرڪيٽيڪچرز لاءِ شامل ڪيل ابتدائي مدد (صرف تشريح واري موڊ) لاءِ.
- SteamPlay ۽ پروٽون پرت لاءِ سپورٽ کي بهتر بڻائڻ لاءِ سڌارا ڪيا ويا آهن. AArch64 بورڊن جهڙوڪ Raspberry Pi 3 ۽ 4 تي اسٽيم مان ڪيترن ئي لينڪس ۽ ونڊوز رانديون هلائڻ جي صلاحيت مهيا ڪري ٿي.
- بهتر ميموري مينيجمينٽ، ايم ايم پي ڪارڪردگي، ۽ ميموري تحفظ جي خلاف ورزي جي ٽريڪنگ.
- libc ۾ ڪلون سسٽم ڪال لاءِ بهتر سپورٽ. نئين سسٽم ڪالن لاءِ سپورٽ شامل ڪئي وئي.
- متحرڪ ريڪمپيليشن انجڻ SSE/x87 رجسٽرز سان ڪم کي بهتر بڻايو، نئين مشين ڪوڊز لاءِ سپورٽ شامل ڪئي، فلوٽ ۽ ڊبل نمبرن جي بهتر تبديلي، اندروني منتقلي جي بهتر پروسيسنگ، ۽ نئين آرڪيٽيڪچرز لاءِ سپورٽ جي اضافي کي آسان ڪيو.
- بهتر ٿيل ELF فائل لوڊ ڪندڙ.
جو ذريعو: opennet.ru