I kodbasen för Wine, som inom en vecka kommer att skapa version 10.15, har stöd för drivrutinen ntsync lagts till, vilket avsevÀrt förbÀttrar prestandan för Windows-spel som körs med hjÀlp av Wine. Drivrutinen ingÄr i Linux-kÀrnan sedan version 6.14 och implementerar en symbolisk enhet /dev/ntsync och en uppsÀttning primitiva funktioner för synkronisering som anvÀnds i Windows NT-kÀrnan.
En betydande prestandaförbĂ€ttring uppnĂ„s genom att eliminera overheadkostnader kopplade till anvĂ€ndning av RPC i anvĂ€ndarutrymmet. Till exempel, med drivrutinen ntsync jĂ€mfört med implementeringen av synkroniseringsfunktioner i anvĂ€ndarutrymmet ökade det maximala FPS i spelet Dirt 3 med 678%, i Resident Evil 2 med 196%, Tiny Tinaâs Wonderlands med 177%, Lara Croft: Temple of Osiris med 131%, Call of Juarez med 125%, The Crew med 96%, Forza Horizon 5 med 48%, Anger Foot med 43%.
För att anvÀnda de optimerade synkroniseringsfunktionerna i Wine behöver du aktivera kÀrnmodulen ntsync, som Àr avstÀngd som standard. För att aktivera den kan du lÀgga till en konfigurationsfil /etc/modules-load.d/ntsync.conf som innehÄller raden "ntsync" och starta om systemet eller manuellt ladda modulen med kommandot "sudo modprobe ntsync". Minst kÀrna Linux 6.14 krÀvs.
För att sÀkerstÀlla att ntsync verkligen fungerar behöver du köra nÄgot i Wine. Till exempel Àr det tillrÀckligt att köra kommandot "winecfg" och sedan köra "lsof /dev/ntsync" för att kontrollera att det finns processer som anvÀnder ntsync i utskriften. Till exempel: $ lsof /dev/ntsync COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME start.exe 658466 user 12r CHR 10,260 0t0 630 /dev/ntsync services. 658474 user 11r CHR 10,260 0t0 630 /dev/ntsync explorer. 658484 user 11r CHR 10,260 0t0 630 /dev/ntsync winedevic 658499 user 10r CHR 10,260 0t0 630 /dev/ntsync svchost.e 658552 user 10r CHR 10,260 0t0 630 /dev/ntsync plugplay. 658557 user 10r CHR 10,260 0t0 630 /dev/ntsync winedevic 658605 user 10r CHR 10,260 0t0 630 /dev/ntsync conhost.e 658623 user 11r CHR 10,260 0t0 630 /dev/ntsync winecfg.e 658625 user 11r CHR 10,260 0t0 630 /dev/ntsync.
KĂ€lla: opennet.ru
