Este Sfântul Graal al PC-urilor de jocuri actuale: 144fps. V-ați cheltuit pe un monitor de gaming excelent și l-ați asociat cu cel mai rapid procesor și cu una dintre cele mai bune plăci grafice pe care banii le pot cumpăra. Este atât de fluid, atât de receptiv și sunteți gata să vă dominați adversarii cu abilitățile dvs. superioare – sau cel puțin cu rata de reîmprospătare mai mare. Există o singură problemă. Este dificil să atingi 144fps (sau mai mult) în multe jocuri, iar uneori este pur și simplu imposibil. Ce se întâmplă?
Începe cu designul și caracteristicile de bază ale unui joc. Nu pentru a face umbră consolelor (mă rog, fac total umbră consolelor), dar atunci când mai multe dintre platformele de jocuri de generație actuală nu pot emite la o frecvență mai mare de 60Hz, este normal ca jocurile jucate pe ele să nu se străduiască să depășească 60fps – sau chiar 30fps în unele cazuri. Atunci când un dezvoltator de jocuri pornește din această perspectivă, poate fi foarte dificil de corectat pe parcurs. Am văzut jocuri precum Fallout 4 legând fizica, viteza de mișcare și multe altele de framerate, adesea cu rezultate nedorite.
Nu este vorba doar de a ținti 30 sau 60fps, totuși. Complexitatea jocurilor continuă să crească, iar complexitatea înseamnă efectuarea mai multor calcule. Jocurile pentru un singur jucător sunt, de obicei, o experiență diferită față de jocurile multiplayer. Acestea din urmă sunt în mod inerent mai competitive, ceea ce înseamnă că un fps mai mare poate fi mai benefic pentru jucătorii de top, și deseori omit o grămadă de lucruri care pot crește timpi de cadre.
Gândiți-vă la jocuri precum Counter-Strike, Overwatch, PUBG și Fortnite, de exemplu. Există foarte puține lucruri în ceea ce privește logica AI sau NPC care trebuie să se întâmple. Cea mai mare parte a lumii este statică și doar jucătorii sunt cei care aleargă, ceea ce înseamnă mult mai puțin overhead și, în cele din urmă, potențialul pentru framerate-uri mai mari.
În primul rând, jocurile singleplayer sunt o chestiune diferită. Uitați-vă la mediile din Assassin’s Creed Odyssey, Monster Hunter World și Hitman 2. Pot exista sute de creaturi, NPC-uri și alte entități care trebuie procesate, fiecare cu animații, sunete și alte efecte diferite. Acest lucru poate împotmoli chiar și cele mai rapide procesoare, unde are loc o mare parte din această procesare.
Da, procesorul și nu GPU-ul. În timp ce GPU-ul este adesea considerat gâtul de îmbulzeală pentru performanța jocurilor, este vorba mai ales de selectarea rezoluției și a calității grafice adecvate. Coborâți setările și/sau rezoluția suficient de mult și CPU devine factorul limitativ. Iar în jocurile complexe, această limită a CPU-ului poate scădea cu ușurință sub 144fps. În timp ce o placă grafică rapidă este adesea necesară pentru a atinge 144fps, un CPU la fel de rapid poate fi, de asemenea, necesar.
Assassin’s Creed Odyssey poate atinge aproape 144fps … cu un RTX 2080 Ti.
Monster Hunter World are, de asemenea, dificultăți în a depăși 120fps.
Uită-te la benchmark-urile CPU din Assassin’s Creed, Monster Hunter și Hitman. Rulând la 1080p și la o calitate scăzută sau medie, există o scalare excelentă în ceea ce privește performanța CPU, dar 144fps este încă un obstacol dificil de depășit. Mai important, scalarea provine în principal din clockspeed, numărul de nuclee și de fire de execuție fiind un factor mai puțin important – mai ales dacă trecem de procesoarele cu 6 nuclee. Acest lucru se datorează faptului că majoritatea jocurilor sunt încă conduse de un singur fir care face o mare parte din muncă.
Întoarceți lucrurile și gândiți-vă la fiecare cadru în termeni de milisecunde. Pentru un 60fps constant, fiecare cadru are cel mult 16,7ms de timp de grafică și procesare. Treceți la 144fps și fiecare cadru are la dispoziție doar 6,9ms pentru ca totul să fie finalizat. Dar cât timp durează, de fapt, pentru fiecare parte a redării unui cadru curent? Răspunsul este că variază, iar acest lucru ne conduce la o discuție despre legea lui Amdahl.
Sublinia legii lui Amdahl este că există întotdeauna porțiuni de cod care nu pot fi paralelizate. Imaginați-vă un joc ipotetic în care un singur nucleu Intel de 4.0GHz are nevoie de 50ms pentru a gestiona toate calculele pentru fiecare cadru. Acest joc ar fi limitat la 20fps. Dacă 75 % din codul jocului poate fi împărțit în subprograme care se execută simultan, dar 25 % se execută pe un singur fir, atunci, indiferent de câte nuclee CPU sunt disponibile, cea mai bună performanță în cel mai bun caz pe un procesor Intel de 4,0 GHz ar fi de numai 80 fps. Am făcut niște calcule rapide și murdare de șervețel pentru a ilustra:
Redactarea codului jocului astfel încât doar 12,5 la sută să se execute pe un singur fir, poate chiar 5 la sută, poate ajuta. Apoi, 160fps sau chiar 400fps este posibil, dar asta necesită timp de dezvoltare care ar putea fi mai bine cheltuit în altă parte – și, desigur, procesoarele nu au un număr infinit de nuclee și fire. Ideea este că există o cantitate limitată de timp în care se poate face față întregii procesări a intrărilor utilizatorului, a stării jocului, a codului de rețea, a graficii, a sunetului, a inteligenței artificiale etc., iar jocurile mai complexe necesită în mod inerent mai mult timp.
Chiar și cu procesoare de 4GHz și mai rapide care lucrează în tandem cu mii de nuclee GPU, 6,9ms trec repede, iar dacă aveți în față un ecran de 240Hz care rulează jocuri la 240fps, asta înseamnă că are doar 4,2ms pentru fiecare cadru. Dacă există vreodată un sughiț pe parcurs – de exemplu, jocul trebuie să încarce unele obiecte sau texturi din memorie, ceea ce ar putea dura de la câteva milisecunde pe un SSD rapid până la poate zeci de ms pe un hard disk – jocul se va bâlbâi puternic. Aceasta este lumea în care trăim.
Să o spunem altfel. PC-urile moderne pot, potențial, să mestece miliarde de calcule în fiecare secundă, dar fiecare calcul este extrem de simplu: A + B, de exemplu. Gestionarea unei actualizări logice pentru o singură entitate ar putea necesita mii sau zeci de mii de instrucțiuni, iar toate aceste actualizări ale AI și ale entităților reprezintă totuși doar o mică parte din ceea ce trebuie să se întâmple în fiecare cadru. Dezvoltatorii de jocuri trebuie să echilibreze totul pentru a ajunge la un nivel acceptabil de performanță, iar pe PC-uri acest lucru poate însemna capacitatea de a rula pe orice, de la un vechi Core 2 Quad sau Athlon X4 cu 4 nuclee până la un procesor modern Ryzen sau 9th Gen Core, și GPU-uri care variază de la grafica integrată Intel până la GeForce RTX 2080 Ti.
Este posibil să se creeze jocuri care pot rula la framerate extrem de ridicate. Știm acest lucru pentru că ele există deja. Dar aceste jocuri, de obicei, nu sunt de ultimă generație în ceea ce privește grafica, inteligența artificială și alte elemente. Ele sunt fundamental mai simple în moduri uneori nu atât de evidente. Chiar și reducerea complexității jocului și a graficii poate merge doar până la un anumit punct. Un CS:GO vechi de șapte ani la 1080p cu un Core i7-8700K overclockat la 5GHz atinge un maxim de aproximativ 300 fps (3,3ms pe cadru), cu bâlbâieli care scad fps-ul minim la aproximativ jumătate. Puteți rula CS:GO la 270-300fps pe orice, de la un GTX 1050 până la un Titan RTX, deoarece procesorul este principalul factor de limitare.
În concluzie, atingerea a 144fps nu ține doar de hardware. Este vorba despre software și designul jocului, iar uneori trebuie doar să te lași dus. Dacă v-ați pus inima să jucați la 144fps, cel mai bun sfat pe care vi-l pot da este să vă amintiți că frameratele (sau frametimes, dacă preferați) nu sunt totul. Pentru jocul multiplayer competitiv, unde orice avantaj de latență posibil poate fi de ajutor, reduceți setările la minim și vedeți cum rulează jocul și, eventual, creșteți câteva setări dacă există spațiu de manevră.
Chiar dacă nu puteți menține 144fps sau mai mult, ratele de reîmprospătare de 144Hz sunt totuși minunate – pot simți diferența doar interacționând cu desktop-ul Windows. Afișajele de 144 Hz de calitate superioară suportă, de asemenea, G-Sync și FreeSync, care pot ajuta la evitarea bâlbâielilor și a ruperii vizibile atunci când coborâți puțin sub 144fps. Un framerate perfect fluid ar fi frumos, dar numai asta nu va face ca un joc să fie excelent. Așa că relaxați-vă și bucurați-vă de călătorie, indiferent de hardware sau de framerate.
Știri recente
.