2023. február 9., csütörtök

Gyorskeresés

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

Írta: |

[ ÚJ BEJEGYZÉS ]

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

Hozzászólások

(#2) fudi2002 válasza fudi2002 (#1) üzenetére


fudi2002
veterán

(#3) Alpi. válasza fudi2002 (#1) üzenetére


Alpi.
addikt

Na ez az ! Emiatt indít minden magon egy szálon és ahogy nő a terhelés, úgy tolja át "átlósan" a legjobb magoktól, a legrosszabb fele a terhelést. Egyébként a Pre-Zen (nem tudom, hogy hívjam. Intel mód) szisztéma is egy mag / 1 szálon indul, és ugyan úgy, a terhelés növekedésével indít egyre több terhelést a logikai irányába.
Alapvetően ugye az a nehéz, illetve teljesen lehetetlen, hogy valami pofonegyszerű szabályt állíthatsz csak fel, mer egyszerűen azt lehet hatékonyan használni ilyen sebességgel. Messzemenő kalkulációkat, több tényezőt nem lehet berakni, mert akkor megette a fene. Eszméletlen gyorsan változik a helyzet.Olyan, ennyire "faék" rendszert mondani, ami mindenhova jó nem lehet. Igazából bármilyen bonyolult szabály lenne is, mindenhova sosem lenne tökéletes.
Nagyon is esélyesnek tartom, hogy pl. egy R7 2700 jobb lehet egy forszírozott 2 szál / magos módban itt.
Azt viszont erősen kétlem, hogy pl. egy 3950X nem romlik, ha 32 fele kényszerítjük, amit egyébként mondjuk 8 magon belül tartana. Ez kb. olyan, mint egy 2 procis konfigba egy olyan alkalmazást mindkét procira kényszeríteni, amit amúgy 1 is vígan megoldana. Az sem igazán okos. Nálam elég alacsony a cpu terhelés. Ilyen 20-40%. Emiatt is hiányzik szinte teljesen az SMT nyoma. Kivéve a 2 legjobb magot. Zen annyira nem táltosodik meg az egy szál / mag -tól úgy , mint pl. Intel teszi némely alkalmazásoknál. Emiatt én nem igazán láttam az ég világon semmit, viszont 16 szál meg fölös, úgy értve, hogy röhögve elboldogul, nincs olyan nehéz pillanata, amikor kicsit is segítene.
Amúgy a játéknak egészen fura terhelési módja van és arra sem jöttem igazán rá, mi mentén skáláz, mert nem a szokásos "több az jobb". Valami furcsa kapcsolatban van a magok / szálak számával is. Intel típusok pl. egészen furcsa módon teljesítenek.
Pl. épp az imént mesélte egy srác, hogy a 9900K-ját 70-90% -ban befogja a játék, akkor is ha Ht on meg akkor is ha off ! És Ht off-asl picit jobb az fps-e. Na ezeket nehéz belerakni egy szabály-rendszerbe. :D

A 4 magos felévetés jó ! Mindjárt meg is lesem, mert arra én is kíváncsi vagyok, hogy az SMT ilyen foku hiánya a 2 top magon kívül alapból az alacsony cpu loadnak köszönhető-e vagy egy másik fura 3d engine jellemző, ami picit erősít az alap Amd-s viselkedésen.

[ Szerkesztve ]

https://www.youtube.com/channel/UCbJjHfBdTsUw3UJAFr-5Gsg

(#4) Alpi.


Alpi.
addikt

Jó, én lassan feladom ! :D
Ez Ufó, de legalább most először volt gyenge pillanata. Viszont 4c4t-ig kellett lemennem.
Tiszta gyogyós. 4c8t-be is tartja a vgat a hátán, pont az alap 8c16t... :S
Mondjuk nincs bődületesen magas fpsem, az már fix, de na. Csak el kéne fogynia, de ez csezik.
[4c4t-be]
Egyébként 4c8t-be is van erősebben és gyengébben dolgoztatott mag. De a terhelés sem nagyon magas, viszont ott már tuti, nem igazán hatékony ez. De nem is a 4 magos típus volt a célkeresztbe, hanem pont a legnagyobbak, egyrészt azok a tulajok fizették a legtöbbet és nekik lenne a legnehezebb meg magyarázni, hogy picit gyengébb, mint a 8 magos, ezért van erősebben súlyozva egyik oldalra, hogy ott minél tovább egy CCX-en belül tartsa. Na, azt pl. megnéznék itt ! Egy 16 magost. Ezzel a sémával ott tényleg szinte csak az egyik 8-as oldal vinné a terhet. :) Nem mintha gond lenne, mert ilyen 20-30% loadom van nekem, azt azért valahogy kinyomná az is. :D

[ Szerkesztve ]

https://www.youtube.com/channel/UCbJjHfBdTsUw3UJAFr-5Gsg

(#5) Alpi.


Alpi.
addikt

[8c8t]
Na, még valami beugrott, de ha ott sem sikerül értelmesen bármi skálázást rá erőszakolni, akkor sztem feladom. Minden beállításban fullon megy a vga, az fpsek is hibahatáron belül vannak és nincsenek még rövidke pillanatok sem, mikor leesne.
A végkifejlettől függetlenül azért azt hiszem valamit mégis csak állíthatok lassan, pont a sarokba szorítási kísérletek sorozatos kudarca miatt.
Ez baszki, nem rossz engine ! Akárki akármit mond, bármennyire panaszkodnak, ilyen kis ram használattal, gyakorlatilag ha 4 mag 4 szál fölé állítom, érdemben jó eredményt ad. A 4 mag 4 szál meg már teljesen gusztustalan szint tőlem a cpuval szemben, mert szerencsétlen netto elfogy, még jó, hogy nem tudja tartani olyankor, de egyébként az sem volt rossz csak voltak gyengébb helyzetei, de mondom, azért 4c4t már böszmeség tőlem valahol. :D

https://www.youtube.com/channel/UCbJjHfBdTsUw3UJAFr-5Gsg

(#6) fudi2002 válasza Alpi. (#4) üzenetére


fudi2002
veterán

Ha smt kerül a képbe és elfogy a mag teljesítmény, akkor sem terhel logikaira? Ilyen 2 mag smt szerű felállásra gondolok.

(#7) Alpi. válasza fudi2002 (#6) üzenetére


Alpi.
addikt

Nem tudom elfogyasztani. :U
Megpróbáltam még valamit, csökkenteni a magok egyenkénti erejét, de feladom.
Már hülyének érzem magam, hogy itt próbálom fullasztgatni, szegénykém meg csak ott üldögél és gondolja : "Na, már megint milyen hülyeséget akar rám erőltetni ez a hülye ?!"
:D
Kéne egy erősebb vga szerintem és talán azzal mutatna valamit, mert így ez a valami és a semmi határa. Ennél kevésbé életszerű helyzetet (nem tudom mondjuk mi lehetne. kikapcsolt állapot. :D ) nem akarok ráerőszakolni, mert ha esetleg valamit látni is lehet, mint a 4c4t-nél az már nem releváns, nem alapvető viselkedés, hanem a megnyomorított helyzet szül anomáliákat.
[Lefele, tovább, tovább]
Azért ez valahol beteg ! Részemről én megadom neki a "passed" minősítést !
Nem tudom, bugos vagy nem, de baszki, hogy ez bármilyen típusú zen2-vel működik, az is biztos. 35W-on is ment, bár ott már picit kezdett laggos lenni az érzet, amit az fps számlálón nem feltétlen láttam. Viszont 2600 Mhz-ig kellett süllyedni. És ott már nem volt olyan friss, lol. Igazán van is meg nincs is eredmény a mai tesztekkel. Nem tudom, mi kell neki, de hogy szarnak nem mondanám, az is biztos !
Nem egy fps gyilkos beállításon, de 4c4t fölött bármilyen pózba raktam, megoldotta. 4c4t az övön aluli és ott sem volt mindig rossz, de azért úgy nem szívesen játszanék már. A másik picit romló élmény meg 2600Mhzes órajelnél volt. Nem volt már olyan folyamatos, mikrolaggos érzete kezdett lenni. De azért valahol ez is tartalmaz övön aluliságot. :D
Viszont a 35W nagyon beteg, tetszett is a maga perverz módján ! :D

https://www.youtube.com/channel/UCbJjHfBdTsUw3UJAFr-5Gsg

(#8) fudi2002 válasza Alpi. (#7) üzenetére


fudi2002
veterán

Ahogy gondoltuk, elkezdődött a ryzenre való optimalizáció...

(#9) Fred23


Fred23
nagyúr

Ryzen 2700-am van, és ebből az SMT parából kábé semmit se érzek; van mindig 2-3 szál, ami alig van használva, de nem csoda, ha 30% körüli a játék alatti cpu kihasználtságom szép fps-ek mellett. Mikor néha 40% körül van, akkor meg már csak 1 szál van 0-5% között. Szerintem ez teljesen normális működés.

Holnap kipróbálom SMT nélkül, csak a 8 maggal. Tippre az élmémy ugyanaz lesz: szép fps-ek, jó frametime.

[ Szerkesztve ]

(#10) Alpi. válasza Fred23 (#9) üzenetére


Alpi.
addikt

Nekem is elég magabiztos eddig. Egyszerűen nem mihelyst 4c4t fölé lépek egyből elég mindenre. :)
Utolsó ötletként a gyengébb magos teszten is nevetségesen alacsony órajellel is egészen magasan tartotta a vga terhelést bár az már nem volt jó feeling, de 2600 Mhz-en még jó, hogy voltak már apróbb repedések a rendszeren. :D

https://www.youtube.com/channel/UCbJjHfBdTsUw3UJAFr-5Gsg

További hozzászólások megtekintése...
Copyright © 2000-2023 PROHARDVER Informatikai Kft.