Hirdetés

CP 2077 nyelvtörőm : BUG vagy vagy nem vagy ?

Emlékeztek a Vízipók-ba, mikor a Kislány minden alkalommal "kimentette" a tóból és a kerti csapra tette ? Ő meg dühösen kiáltotta, Engem nem kell megmenteni !

CP 2077 A játék, amit talán leginkább vártunk, a játék, ami minden rekordot megdöntött nyitásnál és a játék, ami jelenleg talán a legtöbb hozzászólást okozza a világ nyílvános forumain. Többnyire nem pozitiv véleménnyel vannak, de ez nem meglepő, a negativ dolgok sokkal dominánsabban jelennek meg mindig. Az, hogy köszönöm, teljesen jól vagyok, nem történt semmi különös nem annyira érdekes és nem is érzi úgy senki, hogy közölnie kéne, hogy megint minden rendben van, pont, mint tegnap ilyenkor.
Nem is kívánok itt személyes véleményt megosztani a játékkal kapcsolatban, mindenki tegyen szert a sajátjára én azt mondom. Másrészt még ha szeretne is valaki, képtelen megmenekülni a sok meme, stb. elől. Óhatatlan módon is belebotlik mindenki, bármerre is jár-kel. :) Ami viszont megdöbbentett és el is szomorított valahol az az egyik leginkább emlegetett Amd-t érintő "SMT bug". Amikor először láttam, nem is nagyon foglalkoztam vele, egy Reddit bejegyzés volt, simán átpörgettem. Aztán rá egy napra, egy általam mondjuk úgy, átlagnál jobbnak tartott oldalon, mit látok ! Az "SMT" bug-ot cikk formájában, Kis kép, ami a hibát mutatja (bele tudok kötni. :D De ezt majd később). Ok megnevezéssel és javítással.
Ez még mindig nem story értékű, de én tudom, hogy itt már mennyire fent voltak a szemöldökeim és már Ti is, mert most ide leírtam. :D A képen, ami a hibát hívatott bemutatni, egy windows ütemezőt és a szálak furcsának tűnő terheléseit láthattuk. A legtöbben a logikai szálak közel nulla terheltségét látták, én viszont egy korábban már látott és mivel izgalmasnak találtam, tesztelt, vizsgált viselkedés sémáját ! Vissza görgettem a címhez. Igen, tényleg bug-ot írnak. Megint le a képhez. Ránézek ! Megint csak látom és ez tényleg az, láttam már ! De én nem bug-ként ismerem... :S Na, innen indítom a gondolatmenetet, ami mentén haladtam, mert ezt nem tudtam csak úgy kilépni. Mitől lett ez bug, mikor én feature-ként ismerem. Tényleg lehet, hogy egy dolog ? Vagy csak félelmetes a hasonlóság, de erre elég kevés esélyt láttam.
Nekiálltam ilyen, olyan módokon vizsgálni és ahogy túl voltam pár teszten egyre inkább tűnt úgy, hogy ez bizony ugyan az a dolog. Ha tévedek, hát jó. Benne van. De mi van, ha nem ? Jajj... Itt nagyon elkeseredtem. Akkor tényleg körbement a világon, anélkül, hogy valakinek feltűnt volna ? Neeeem... Ugye nem ?!
Amit írok az a saját véleményem és meglátásom, mivel én vagyok a világ ellen, így meg tudom érteni, ha én leszek az idióta a saját hülyeségével, de mivel egy vélemény lehet téves, ezért csak annyit szeretnék, hogy akinek van kedve és indíttatása egy kicsit gondolja végig.
A téma a CDPR egy újabb nagy tévedése az "SMT" bug. Nem ragoznám nagyon, mindenki 100 helyen látta a hiba megjelölését, megoldást rá, tech. oldalak is osztják, tán még a rádió is bemondta.
Én konkrétan alig akartam elhinni, mikor előszőr láttam. Leírják a hibát mindenhol és van egy screen, amivel bizonyítják, hogy nincs terhelés logikai szálakon. Tiszta sor ! Ja nem, várjunk csak ! A képen van 2 mag, ami konkrétan izzad a 2 szálas terhelés alatt !

Hiba ? Eseti jelenség, épp így volt, mikor készült a kép ? Végülis nem is fontos a pontos oka, hiszen a többinél tiszta a minta. Gondolhatnánk ! De mivan, ha nem az ! Az, hogy ez ne tűnjön fel senkinek vagy ha esetleg fel is tűnt, ne okozzon felismerést, ahhoz az kell, hogy fogalma se legyen a windows ütemező, oly sokáig várt, Zen2-höz passzoló működéséről ! És félre ne értsetek, ez most nem a userek fele irányul, de (ha ne adj isten nem teljesen valótlan a verzióm) az összes, magát Tech-oldalnak, bárminek tartó médium fele ! Ha ennyi rálátás van, egy mondhatni alap, win ütemező működésre, azaz, hogy inkább nincs, önmagatok meme-jei vagytok és így kapcsolnék vissza az előzményhez, hogy miközben a játékot és a kiadót vádoljuk és ítéljük el, nem biztos, hogy az lesz meme, akiről feltételezzük.
Zen2 felépítéséből adódóan bizonyos esetekben, mégpedig ha 2 olyan mag cserélne infot, aminek nincs közös L3 cache-e, akkor az inf. fabric-on keresztül folyik le a kommunikáció. Ezzel egy nagy baj van, hogy jelentős latency-vel jár. Az addigi win ütemező egy egyszerü, minden mag egyenlő elven, arra törekedett, hogy a felmerülő feladatokat kb. egyenletes terhelés mellett (valójában kicsit a 0-s tol felfele ) porciózza, ha a terhelés nem annyira nagy, a fizikai szálra súlyozva, ha picit magasabb, akkor a logikaiakat is bevonva a játékba. Ez pompásan működött is egészen az AM4 korszakig. Ahogy erősödött ez a tábor, nem beszélve a zen2-vel megjelenő nem csak 2 CCD-s, de 2 CCX-es (2x2 CCD, azaz 4 csoport magocska) 12, 16 magos procikra, ahol 2x akkora esély volt, hogy a random ütemezéssel igénybe kell venni az. inf. fabric-ot. Gyönyörüen kínlódtak is egy-egy alkalmazásnál, alulteljesítve minden, kissebb testvérüket. Nyílvánvaló volt, hogy kéne egy másik rendszer, ami ha jobb nem is lehet, de egy kevésbé szar is előrelépés lehet. A Microsoft le is reagálta gyorsan, alig pár 100-at kellett aludni és érkezett is az új, Amd-re alakított ütemező és ütemezés. Az elv a Ryzeneknél a mag kvalitásai alapján fel állított sorszámozásra húzott az ütemezést optimalizáló "mű" sorrend. Ez egy-két helyen tér el általában a valóstól, arra való, hogy az első 4 (vagy 3) mag egy CCD-n belül, a következő 4 (vagy 3) a másodikon belül, stb. Amit említenék még, hogy 2 db. 1-es sorszámmal bíró mag szerepel itt, 1/1 és 1/2 jelöléssel. Ez a kettő a 2 legjobb mag. Egy ilyen alap os modultól nem várható el, hogy bármilyen komolyabb vizsgálat alapján döntsön, hiszen pofonegyszerű elv mentén, nagyon gyorsan kell működnie. Ezzel az Amd profillal és egy szintén cpu terhelésen alapuló (mint az addigi logikai szálak terhelése) mindig a legjobb rész fele súlyozó ütemezéssel, tehát először a legjobb magok, aztán az azonos CCD-n belüli, utána (itt jön a fordulat !!!) legjobb magok elkezdenek SMT (2 szálas) terhelésbe csúszni és ritkán egy-egy magocska a következő legjobb CCD-böl is kap kis csomagocskát. Aztán 2 top mag 2 szálon, 4 mag 1 szálon és 2 további szinte idle állapotban lesz egy folyamatos 8 szálas terhelési képe. Ez még mindig CCX-en belül van, ugye. Nem egy intelligens, viszgálatokon alapuló mechanika, igazábol "csak" a nagy számok törvényével játszik, maximalizálja az esélyt, hogy azonos L3 cache szeletkén üldögélő magokra kerüljön a számítás, így az gyors, hatékony maradhasson. Nem minden esetben volt jobb, de ha épp nem is, nem volt nagy minusz, cserébe nagyon jó hatásfokkal kerülte el az egyébként nagyon nagy teljesítmény buktákat, tehát néha a kissebbik rossz, de sokkal többször meg csak jó. (azt is meg említeném, hogy ettől a pillanattól minden Ryzennél volt egy netto plusz, mivel a magasabb órajelet elérő magokra került a terhelés, ergo picit plusz lesz ebből, bár ez nüansznyi) Bocsánat, hogy ennyit fosom a szót, de ezt nem tudtam 2 mondatban leírni, pedig fontos, ha esetleg valaki nem lenne ezekkel tisztában.
Ez szépen csendben egyszer csak megtörtént és bár nem kicsi fontossággal bírt, az ég világon senki meg sem említette nagyon. Pár idióta, pl. én örömködött csak, gyúrta, tesztelgette, rögzítette a működését különböző helyzetekben, stb. Talán emiatt is volt nekem első blikkre feature ez a bug. Ha találgatni kéne, valaki, aki jellemzően magasabb cpu terheléssel játszik (itt van egyedül a CDPR-nek szerepe, hogy olyan motort csináltak, ami jóval kissebb terhelést ró a procira :D), CP 2077 alatt valamiért meglátta a task managert. Én úgy gondolom, hogy em tudta, mit lát, de biztos lehetett benne, hogy rossz. Innen indult a story. Van aztán szó Bulldozer magokról, a CDPR hibájáról, hogy nem használ logikai szálat stb. és a végén eljut oda, hogy a megoldás, Intelnek kell hazudni az AMD-t és máris megjavul és elkezd a logikai szálakra is dobálni. Ettől aztán sosem látott fps növekményt vizionál ki-ki vérmérséklete alapján, amelyik számok önmagukban vihogást válthatnának ki bármelyikünkből, hiszen +20-30%-ot talán a Ryzen 3 3100 és az 5950X tud felmutatni egymás közt, de ilyen az internet manapság, nem is érdekes ez.
Valaki sejti, mi lesz a teóriám vége ? Ne adj Isten felfedezni véli a feature-öket a Bug-ba ?
Amit kérdeznék. Tényleg azt hitte bármelyik publikáló, hogy a játékgyártók feladata a feladat ütemezése az aktuális konfigba ? Komolyan ? Csak, mert a CDPR-t ezzel vádolják. Csak egy példa, nem azért, mert rossz, mert még mindig megállja a helyét, de a GTA 5 meg használ logikai szálakat gyakrabban még egy 8+ magos procin is. Tényleg úgy gondolják, hogy ezt a játék csinálja ? Elég baj... Leírni leírták, így feltételezem, hogy így képzelik el a működést.
Vegyünk egy CP2077-töl teljesen eltérő, simán cpu intentzív alkalmazást. A cinebench. Ha a CP2077 hibásan működik, akkor hogy kéne futnia a gépünkön (akinek ryzenje van) az 1 szálas tesztnek ? az összes magon szépen végiszökdécselve, ugye ? Hogy fut ? Kettőn ! Melyiken ? Igen az 1/1 és az 1/2-n. Tudjátok, hogy néz ki egy 8 szálas Cinebench alatt a task manager cpu terhelés profilja ? (ahogy fentebb írtam, de itt a kép is ! )

Hoppá ! Ez is bugos ! Egy csomó logikai szál aluszik, miközben folyamatos 2d terhelés érkezik 8 szálon. Miért nem egy egy szálat kap minden mag és jóccakát ? Hát mert Amds ütemezés van. Igazábol meg is érkeztünk oda, hogy én úgy gondolom, ez az gész nem más, minthogy valaki életében először látta, hogy néz ki ez a séma, egy viszonylag alacsonyabb cpu terhelésnél. Ami utána jött, az mondjuk már elkeserítő, mármint ha van ebbe realitás, ugyanis egy világ kapta fel a hibát, ami egy feature és annak a megoldását, amit nem is biztos, hogy meg kellett volna oldani. Itt mindenképp elmondanám, hogy ez nem azt akarja jelenteni, hogy nem hoz pluszt egyes esetekben, mert ahogy írtam, nem tud optimális lenni mijndig, minden körülmény mellett és bármilyen típusú cpuval. Ez érthető, hogy lehetetlen, de ha egy módszert lehet lerakni, ami nagyon közel marad mindig az optimális vonalhoz és segít elkerülni a súlyos botlásokat, akkor ez kifejezetten jó sztem. Ergo, ha valaki modolta és javulást lát, nagyon zsír, nem rossz a dolog, nekem önmagában a story íve, az, hogy ez senkinek még csak gyanús sem volt az érdekes.
Egy utolsó szösszenet még és egy grátisz video, ahol ez az egész kicsit jobban, mozgás közben is látható. Ha ez hiba, akkor az hogyan lehet, hogy van opció a bios-ba, amivel azt tudom elérni, amit a hexa szerkesztéssel ? Kikapcsolom, minden mag egyenlően, logikai szálon is, terhelést kap, visszakapcsolom és megint rossz. "rossz" :B
CPPC a neve és a preferált rendszert, illetve az Amd ütemezésnél segítő "ál" sorszámozást aktiválja vagy épp deaktiválja. Nélküle a hagyományos módon, Intel-ként :D kezeli az ütemező. Ha ez bug, valaki szerint lehetne egy (kettő) bios opció-val javítani ?
[SMT bug vizsgálódás CP 2077-be és azon kívül, Intellé változtatás a bios-ból]
Aki esetelg végikínlódta és eljátszogat mindkét lehetőséggel, írja le, mit gondol, legyen szíves ! Nyugodtan lehet mondani, hogy faszság, nem azt szeretném, hogy nekem higgyetek, az a célom, hogy gondoljátok végig és a saját józan paraszti eszetekre hallgassatok !
Köszönöm ! :)

Alpi

Még van hozzászólás! Tovább