Testissä Intel Core i9-7900X (Skylake-X)

  • Keskustelun aloittaja Keskustelun aloittaja Sampsa
  • Aloitettu Aloitettu

Arvostele artikkeli

  • 5 - Erinomainen

    Ääniä: 36 41,9%
  • 4 - Hyvä

    Ääniä: 47 54,7%
  • 3 - Keskinkertainen

    Ääniä: 0 0,0%
  • 2 - Heikko

    Ääniä: 1 1,2%
  • 1 - Täydellinen alisuoritus

    Ääniä: 2 2,3%

  • Ääniä yhteensä
    86
Varmaan joku peli, jonka pelaamiseen vaaditaan 500 euron näytönohjain ja 16 megaa muistia, tehdään optimoituna 60 euron tuplaydinprossulle.

No kyllähän uudet pelit joissa on täysin uusi moottori skaalavat hyvin coreille. Ongelmana on se kun noita pelejä tehdään unreal enginellä ja parilla muulla jotka ovat yli 10v vanhoja pahimmillaan. Joihin on sitten vuosien varrella jotain multicore tukea purkattu mukaan mutta jotka edelleen hyötyy ihan älyttömästi singlecore kellosta.
Esim. Unreal engine 3 on jo 13v vanha engine jota on viimeeksi päivitetty 2v sitten. Silti kyseisellä enginellä on julkastu edelleen pelejä ja tullaan julkaisemaan tulevaisuudessa.
Unreal engine 4 on jonkin verran parempi, onhan se julkaista 5v sitten. Mutta siinäkin juuret ulottuu aikaan ennen multicore prossuja koska tuota engineä alettiin työstää jo 2003. Eli 4:n kehitys aloitettiin vuotta ennen 3:n julkaisua.
 
Ei tää nyt oikein täsmää, kun toisaalla valitetaan että kaikki pelit tehdään konsolille ja sitten siirretään PC:lle. Miksi se monisäikeistys katoaisi matkalla, jos pelit on muka tehty tukemaan monisäikeistystä?

Jos joku tekee surffikoneen tuplaydinprossulla, niin mitä se sua haittaa? Senkus ostat 20-ydinprossan.
Ei se monisäikeisyys mihinkään katoa ne konsoliversiot on vaan alunperinkin niin köykäisiä että ei siitä järeästä monisäikeisestä PC prosessorista ole hyötyä kun ei sitä tehoa tarvi.

Toinen vaihtoehto on sitten todella laiska konsoliversoon PC versioksi kääntö kun PC puolella on vieläkin käytössä yksiytimisiä prosessoreja ja kun sen yhden ytimen teho riittää sen käännetyn konsolipelin pyöritykseen kännetään se konsolipeli vain yhtä ydintä tukevaksi kun se toimii varmasti missä tahansa käytössä olevassa PC koneessa.
 
Toinen vaihtoehto on sitten todella laiska konsoliversoon PC versioksi kääntö kun PC puolella on vieläkin käytössä yksiytimisiä prosessoreja ja kun sen yhden ytimen teho riittää sen käännetyn konsolipelin pyöritykseen kännetään se konsolipeli vain yhtä ydintä tukevaksi kun se toimii varmasti missä tahansa käytössä olevassa PC koneessa.

En kyllä usko tuohon. Teorisassa olisi mahdollista jos käytetään jotain geneeristä threadpoolia ja "taskeja" ja säädetään vaan threadpoolin countti 1:een, mutta tuollainen geneerinen pooli ja taskit eivät oikeen järkevästi mahdollista tiettyjen asioiden priorisointia. Muuten taas vaatii aika herkästi koodimuutoksia. Eikä keskiverto PC suoritin siitä hyydy konsolia hitaammaksi vaikka siellä ajettaisiin ns. liikaa threadeja, tehoja kuitenkin on niin paljon enempi kuin konsolilla.

Ennemmin se puuroutuminen johtuu siitä että konsolille optimoitu GPU koodi käännetään jollain automagiikka vipattimella pc:lle, joka vääntää matalan tason grafiikka kutsut jollain "matalin kohta aidasta" -menetelmällä directx:lle tjsp. Varsinkin nyt kun xpoksi ja pssä molemmat käyttää x86-64 cpu:ta niin liene lähinnä GPU puoli tuottaa töitä.
 
Ei tää nyt oikein täsmää, kun toisaalla valitetaan että kaikki pelit tehdään konsolille ja sitten siirretään PC:lle. Miksi se monisäikeistys katoaisi matkalla, jos pelit on muka tehty tukemaan monisäikeistystä?
Ei se katoakaan eikä PC-versioita mitenkään "kuristeta" tuon osalta. Osasyynä on yksinkertaisesti se että korkeammilla frame rateilla engineissä muodostuu aivan toiset pullonkaulat kuin mitä konsolipuolella näkyy, ts. sarjallinen koodi alkaa dominoimaan eikä sitä ole usein kannattavaa optimoida PC:tä varten pelkästään. Toisena osasyynä joskus toki myös DX11:n huonompi skaalautuminen.

En alkaisi syyttämään mitään halpiskoneiden dualcoreja tästä kun nykyään on ihan OK julkaista AAA-pelejä jotka ei edes käynnisty dual corella ilman virityksiä.

Toinen vaihtoehto on sitten todella laiska konsoliversoon PC versioksi kääntö kun PC puolella on vieläkin käytössä yksiytimisiä prosessoreja ja kun sen yhden ytimen teho riittää sen käännetyn konsolipelin pyöritykseen kännetään se konsolipeli vain yhtä ydintä tukevaksi kun se toimii varmasti missä tahansa käytössä olevassa PC koneessa.
Joo ei, vaikka PC:ssä olisi yksi ydin peli voi silti käyttää vaikka sataa eikä säikeet ole se rinnakkaisuuden taso mitä peliengineisssä nykyään pääosin pyöritellään.

En kyllä usko tuohon. Teorisassa olisi mahdollista jos käytetään jotain geneeristä threadpoolia ja "taskeja" ja säädetään vaan threadpoolin countti 1:een, mutta tuollainen geneerinen pooli ja taskit eivät oikeen järkevästi mahdollista tiettyjen asioiden priorisointia.
Thread poolit muutamalla threadilla suhteessa ydinmäärään ajamassa geneerisiä taskeja on nimenomaan se tapa millä modernit enginet toimii, niitä on ollut ainakin jostain PS3-ajoista lähtien käytössä. Mutta siinä ei toki olisi järkeä että PC:llä määriteltäisin poolin koko vain yhdeksi eikä ydinmäärän mukaan.

Nykyäänhän taskien suhteen ollaan vielä pidemmällä kun mukana on fiberit/coroutinet, ts. taskit voivat yieldata vapaaehtoisesti (esim. raycastin tuloksen odotus batchauksen yhteydessä) ja sitten palautetaan jonosta.
 
Viimeksi muokattu:
Thread poolit muutamalla threadilla suhteessa ydinmäärään ajamassa geneerisiä taskeja on nimenomaan se tapa millä modernit enginet toimii, niitä on ollut ainakin jostain PS3-ajoista lähtien käytössä. Mutta siinä ei toki olisi järkeä että PC:llä määriteltäisin poolin koko vain yhdeksi eikä ydinmäärän mukaan.

Nykyäänhän taskien suhteen ollaan vielä pidemmällä kun mukana on fiberit/coroutinet, ts. taskit voivat yieldata vapaaehtoisesti (esim. raycastin tuloksen odotus batchauksen yhteydessä) ja sitten palautetaan jonosta.

Kyllä, mutta liekkö se pelin main thread on siinä samassa poolissa, tuskin koska tulisi helposti race conditioita. Voi sen toki sinnekkin pistää. Silti yleisesti ottaen monisäikeinen peli ei yksisäikeiseksi pelkästään kääntämällä eritavalla muutu, jotain täytyy koodillekkin tehdä.

Tosin tällein kun kaikissa paitsi nintendoissa on saman käskykantaa sisään imevät CPU:t niin tuo ei liene ole se ongelma, vaan jo sinunkin aikaisemmin mainitsema directx jne.

Vaan jo en ole pelimoottoreiden asiantuntija, väännän asyncronista skaalautuvaa koodia serveripuolelle, joka on hieman eri maailma. :)
 
Olisiko mahdollista ajaa Ashes of the Singularityn CPU-testi? Pelimoottori on varsin mielenkiintoinen multi-core -prossujen suhteen.
 
Olisiko mahdollista ajaa Ashes of the Singularityn CPU-testi? Pelimoottori on varsin mielenkiintoinen multi-core -prossujen suhteen.
Periaatteessa joo, pyrin kuitenkin käyttämään mieluummin oikeita pelejä kuin synteettisiä benchmarkkeja, vaikka tässäkin oli mukana GTA V ja arma 3
 
Kyllä, mutta liekkö se pelin main thread on siinä samassa poolissa, tuskin koska tulisi helposti race conditioita. Voi sen toki sinnekkin pistää. Silti yleisesti ottaen monisäikeinen peli ei yksisäikeiseksi pelkästään kääntämällä eritavalla muutu, jotain täytyy koodillekkin tehdä.
Joo, jokin käsitys main threadista usein tarvitaan mutta sille ei kannata hirveästi kuormaa sysätä ts. ideaalitilanteessa lähinnä laittaa taskiketjuja ajoon (jotka taas saattaa spawnailla lisää taskeja muodostaen dagin käytännössä) ja istuu jossain kombinaattoreissa synkronoiden. Eikä toki taskiparallelismi itsessään ole mikään ratkaisu kaikkeen, samalla tavalla pitää käytännössä liukuhihnottaa työtä jne.

Kääntämällä ei tietenkään voi tehdä tuon tason design-muutoksia mutta rinnakkaisuuden tarve ei ole tullut pelialalle puun takaa.
 
Joo, jokin käsitys main threadista usein tarvitaan mutta sille ei kannata hirveästi kuormaa sysätä ts. ideaalitilanteessa lähinnä laittaa taskiketjuja ajoon (jotka taas saattaa spawnailla lisää taskeja muodostaen dagin käytännössä) ja istuu jossain kombinaattoreissa synkronoiden. Eikä toki taskiparallelismi itsessään ole mikään ratkaisu kaikkeen, samalla tavalla pitää käytännössä liukuhihnottaa työtä jne.

Kääntämällä ei tietenkään voi tehdä tuon tason design-muutoksia mutta rinnakkaisuuden tarve ei ole tullut pelialalle puun takaa.

Ei ole joo tullut puun takaa. Selityksesi mukaan ymmärsin tuon myös toimivan kun kaljalla lapsuuden kaveriani haastelin jolla on tuollainen muutaman ukon pelifirma.

Monesti serveri puolella tuo on todella helppoa, kun taskien dependencyt on vain yhden kyselyn sisäisiä, jolloin ne ylenesä voidaan vain heittää ajoon ja odotella koko vastaussettiä kunnes palautetaan kyselyyn tulos. Niillä toki keskenään voi olla dependencyjä, mutta ei vaikutusta käyttökokemukseen.

Käytännössä vasteaika/kysely on merkityksetön ja haetaan maksimi bandwidthiä (pois lukien tietyt tilanteet ja ihmisen käyttämät jutut). Pelikokemukseen sama ideologia tuskin vaikuttaa positiivisesti. :)

Palvelin/palvelu puolella tieteellinenlaskenta toki on oma lukunsa, sitä joskus opiskelin, mutta totesin etten kyllä työkseni rupea tekemään ettei hajoa pää. :)
 
Viimeksi muokattu:

Statistiikka

Viestiketjuista
261 839
Viestejä
4 548 799
Jäsenet
74 851
Uusin jäsen
hieunguyen

Hinta.fi

Back
Ylös Bottom