Karamihan sa mga Windows PC ay pinapatakbo ngayon ng mga multi-core processors, at ang mga kamakailang bersyon ng Windows sa pangkalahatan ay gumagawa ng isang napakahusay na trabaho ng awtomatikong paghati sa buong lakas ng pagproseso ng iyong PC upang pinakamahusay na mapaunlakan ang iyong mga tumatakbo na apps at laro. Ngunit kung minsan ang gumagamit at Windows ay maaaring magkaroon ng iba't ibang mga ideya pagdating sa paggawa ng mga pagpapasya kung paano pinakamahusay na gumamit ng kapangyarihan ng CPU ng PC, at doon ay ang mga advanced na gumagamit ay maaaring makapag-hakbang at manu-mano na higpitan ang ilang mga app o proseso sa mga tukoy na mga core ng CPU, salamat sa isang tampok tinatawag na Processor Affinity . Narito kung paano ito gagawin.
Pagdating sa mga bersyon ng antas ng consumer ng Windows, ang kakayahan para sa isang gumagamit na mano-manong i-configure ang paggamit ng isang app ng mga tukoy na mga cores ng CPU na nakakabalik sa oras ng Windows XP / 2000, bagaman ang mga hakbang ay naiiba nang bahagya sa bawat bersyon ng Windows. Para sa mga hakbang at screenshot na ginagamit namin ang Windows 10, ngunit ang mga mambabasa na nagpapatakbo ng mas lumang mga bersyon ng Windows, lalo na sa Windows 7 at Windows 8 / 8.1, ay dapat na sundin ang mga pangunahing hakbang sa harap ng kaunting pagkakaiba sa Windows UI.
Mahalaga rin na tandaan bago namin magpatuloy na ang pagbabago ng kaakibat ng processor para sa isang partikular na proseso o app ay maaaring maging sanhi ng mga isyu sa katatagan, at malamang na magpapabagal sa pagganap ng mga modernong multi-may sinulid na apps at laro. Samakatuwid, siguraduhin na mag-eksperimento ka sa mga di-mahalaga na apps at data, at tiyaking i-save ang anumang bukas na trabaho o pag-unlad ng laro bago baguhin ang anumang mga setting na tinalakay dito, dahil posible ang mga pag-crash ng application o system.
Bakit Limitahan ang Pag-access ng isang App sa Mga Cores ng App?
Tulad ng nabanggit sa itaas, nais ng karamihan sa mga gumagamit ang Windows na awtomatikong hawakan ang lakas ng pagpoproseso ng PC, tinitiyak na ang mga app na maaaring magamit ang lahat ng mga cores ay binibigyan ng access sa kanila. Ito sa pangkalahatan ay nagreresulta sa mas mahusay na pagganap, kaya ang pangunahing tanong ay kung bakit nais ng isang gumagamit na limitahan o higpitan ang isang tiyak na multi-threaded na app na mas mababa sa kabuuang halaga ng pisikal at lohikal na mga cores na magagamit ng isang PC.
Mayroong dalawang pangunahing mga sagot sa tanong na ito: 1) upang matiyak ang pagiging tugma at pagganap sa mas matandang software, at 2) upang magpatakbo ng isang hindi man mabigat na sinulid na processor na hog habang nagrereserba pa rin ng sapat na mga mapagkukunan upang sabay na isagawa ang iba pang mga gawain.
Magsisimula kami sa unang sagot: pagiging tugma at pagganap. Ang ilang mga Windows apps at mga laro ay nai-code nang matagal bago ang mga antas ng mga tagasubaybay sa multi-may sinulud at multi-core na mga processor ay isang katotohanan. Ang mga tagalikha ng mga mas lumang mga laro sa partikular ay maaaring hindi kailanman inisip na ang isang tao na naglalaro ng laro ay magkakaroon ng anumang bagay kaysa sa isang Windows PC na pinapagana ng isang solong dalas na CPU core. Kapag nakatagpo ang software ng panahong ito ng mga modernong CPU na naka-pack ng apat, anim, walong, o higit pang mga cores, kung minsan ay magreresulta ito sa mga isyu sa pagganap, o kahit na ang kawalan ng kakayahang ilunsad ang programa.
Maraming mga apps at laro ang nagpapatakbo ng maayos, siyempre, kahit na pinalakas ng pinakabagong 8-core / 16-thread na mga desktop desktop na halimaw. Ngunit kung sinusubukan mong maglaro ng isang mas matandang laro at nagkakaroon ka ng mga isyu, gamit ang pag-iugnay sa processor upang manu-mano na higpitan ang proseso ng laro sa isa lamang sa iyong maraming mga cores ay maaaring maging isang mahusay na hakbang sa pag-aayos.
Ang pangalawang sagot ay malamang na mas kapaki-pakinabang para sa higit pang mga gumagamit ng Windows, at bubuo ito ang batayan ng aming mga tagubiling hakbang-hakbang sa ibaba. Habang maraming mga Windows apps, lalo na ang mga laro, hindi pa rin maaaring samantalahin ng higit sa isa o dalawang mga cores, ang mga aplikasyon ng paglikha ng nilalaman tulad ng mga video encoder at 3D na mga tool sa pag-rendering ay na-optimize sa mga nakaraang taon upang magamit ang bawat onsa ng pagproseso ng kapangyarihan na ang iyong PC ay maaaring ihagis sa kanila. Gusto mo sa pangkalahatan na ang mga app na ito ay pumunta nang mas mabilis hangga't maaari, ngunit kung minsan ang bilis o oras sa pagkumpleto ay hindi ang pangunahing kadahilanan, at mas gugustuhin mong panatilihin ang magagamit na bahagi ng kapangyarihan ng pagproseso ng iyong PC para sa isa pang gawain habang ang iyong hinihingi na app ng media ay tumatakbo sa background. Ito ay kung saan ang tunay na pagkakaugnay ng processor ay talagang madaling gamitin.
Hakbang Sa Hakbang: Ang aming Halimbawa
Ang isang app na makakain ng lahat ng mga CPU cores na itinapon mo ay isang x264 video encoder tulad ng RipBot264 (o HandBrake, o alinman sa napakaraming bilang ng mga x264 at x265 encoder tool na magagamit). Para sa aming halimbawa, nais namin ang RipBot264 na mag-encode ng isang video file, ngunit nais din naming magtrabaho sa iba pang mga proyekto sa mga app tulad ng Photoshop at Premiere sa parehong oras.
Bilang default, gagamitin ng isang app tulad ng RipBot264 ang lahat ng magagamit na kapangyarihan sa pagproseso.
Kung sinimulan namin ang aming pag-encode ng RipBot264 at pagkatapos ay inilunsad ang Photoshop at Premiere, gagawin ng pinakamahusay ang Windows upang unahin at mapaunlakan ang mga pangangailangan ng bawat app, ngunit ang Windows ay paminsan-minsang magkakamali din, na nagreresulta sa mga pagbagal o pansamantalang pag-freeze sa aming aktibong apps. Maaari naming subukan upang maiwasan ito sa pamamagitan ng paggamit ng pagkakaugnay ng processor upang limitahan ang paggamit ng aming mga CPU cores.Upang magsimula, tiyaking tiyaking naka-log in ka sa isang account sa Windows user na may mga pribilehiyo sa admin. Pagkatapos ay ituloy at ilunsad ang app na nais mong paghigpitan. Sa aming kaso, iyon ang RipBot264.
Susunod, ilunsad ang Windows Task Manager, alinman sa pamamagitan ng pag-right-click sa taskbar at pagpili ng Task Manager o sa pamamagitan ng paggamit ng keyboard shortcut kombinasi Ctrl-Shift-Escape . Bilang default, ang Task Manager sa mga kamakailang bersyon ng Windows ay nagsisimula sa isang "pangunahing" view. Kung ang iyong Task Manager ay hindi katulad ng isa sa aming mga screenshot, i-click ang Higit pang Mga Detalye upang maihayag ang buong interface. Kapag tapos na, siguraduhin na nasa tab ka ng "Mga Proseso" at ngayon mahanap ang iyong app o proseso.
Ang huling hakbang na ito ay potensyal na madaling masabi kaysa sa tapos na. Sa maraming mga kaso, makikita mo lamang ang iyong ninanais na app sa listahan. Sa iba pang mga kaso, ang ilang mga app ay maaaring gumamit ng mga natatanging proseso bukod sa pangunahing proseso ng aplikasyon para sa ilang mga gawain. Ang susi ay upang mahanap ang proseso o mga proseso na responsable para sa paggamit ng CPU na nais mong limitahan. Ang isang mahusay na paraan upang subukan ito ay upang maiputok ang hinihingi na aktibidad (sa aming kaso, simulan ang pag-encode ng isang video file), at pagkatapos ay ayusin ang Task Manager ng haligi ng CPU upang mahanap ang mga proseso na gumagamit ng pinakamataas na antas ng mga mapagkukunan ng CPU. Kung ang pangalan ng proseso (muli, sa aming kaso ito ay isang H.264 encoder process) na tumutugma sa iyong target na app, naka-set ka na.
Sa natukoy na tamang proseso, mag-click sa kanan at piliin ang Pumunta sa Mga Detalye . Tatalon ka nito sa tab ng Mga Detalye ng Task Manager at awtomatikong i-highlight ang tamang proseso.
Ngayon, mag-click muli sa proseso at piliin ang Itakda ang Affinity .
Susunod, oras na upang magpasya kung magkano ang nais mong higpitan ang iyong app. I-click ang checkbox sa tabi ng Lahat ng Mga Proseso upang mapili ang lahat ng mga kahon ng CPU at pagkatapos ay pumili ng kahit isang kahon ng CPU upang suriin, sa bawat isa na kumakatawan sa isang pisikal o lohikal na core. Walang anumang mga depekto sa CPU o natatanging mga overclocking na sitwasyon, sa pangkalahatan ay hindi mahalaga kung aling mga cores ang iyong napili.
Sa aming halimbawa, nais naming limitahan ang RipBot264 sa apat na mga core, mag-iwan ng maraming silid para sa aming iba pang mga gawain na sensitibo sa oras. Kapag napili mo ang iyong ninanais na bilang ng mga core, pindutin ang OK upang isara ang window ng Processor Affinity. Ang iyong mga pagbabago ay magkakabisa kaagad at kung ang app ay nakatuon sa isang mabigat na gawain ng CPU, makikita mo ang paggamit nito ng paggamit ng plummet sa lahat ngunit ang mga cores na iyong napili.
Kapag na-configure namin ang RipBot264 upang magamit lamang ang 4 sa aming 16 na mga cores, ang paggamit ng CPU ay bumababa kaagad sa natitirang mga cores.
Gamit ang setup na ito, maaari nating hayaang mag-encode ang RipBot264 nang mabilis hangga't maaari sa mga apat na cores, ngunit ang natitirang labindalawang mga cores sa aming system ay libre upang mahawakan ang iba pang mga app. Kung tatapusin namin ang aming iba pang trabaho at nais na maibalik ang buong pagganap sa RipBot264, maaari naming ulitin lamang ang mga hakbang sa itaas upang bumalik sa window ng Processor Affinity at pagkatapos ay suriin ang kahon ng Lahat ng Mga Proseso upang muling mabigyan ng access ang app sa lahat ng aming CPU mga core.Mga Caveats
Bilang karagdagan sa mga isyu sa katatagan na nabanggit kanina, mayroong isa pang malaking caveat na kailangan mong isaalang-alang. Ang anumang mga pagbabago na gagawin mo sa pag-iugnay sa processor ay mai-reset kapag ang proseso ay muling nai-restart. Nangangahulugan ito na, sa isang minimum, kakailanganin mong ulitin ang mga hakbang na ito sa tuwing i-reboot mo ang iyong PC. Ang ilang mga proseso ay mas mahirap, gayunpaman, dahil awtomatikong i-reload nila ang depende sa mga tagubilin ng app. Sa aming pag-setup ng RipBot264, halimbawa, ang proseso ng encoder H.264 na binago namin ay nagsisimula sa bawat oras na gumagalaw ang app sa pag-encode ng isang bagong file ng video.
Maaari kang magtrabaho sa paligid ng limitasyong ito sa pamamagitan ng paglikha ng pasadyang mga script na nagtatakda ng kaakibat ng processor ng iyong app sa pamamagitan ng isang file o shortcut na batay sa linya ng utos, ngunit ang ilang mga app ay maaaring gumamit ng natatanging o random na mga proseso na nagpapahirap o imposible. Samakatuwid pinakamahusay na mag-eksperimento nang paisa-isa sa bawat app na nais mong paghigpitan upang mahanap ang pinakamahusay na paraan upang mano-manong i-configure ang pagkakaugnay ng processor.
