Virallinen: AMD vs Intel keskustelu- ja väittelyketju

  • Keskustelun aloittaja Keskustelun aloittaja Sampsa
  • Aloitettu Aloitettu
Mä takerrun tohon sun laiskuus -pakkomielteeseen koska se on paskapuhetta. Käy kokeilemassa töitä minkä tahansa pelifirman toimistolla koodarina ja kerro niille minkä takia niiden seuraavaa peliä pitää tehdä x ajan pidempään että ne toimisivat paremmin moniytimisten kivien kanssa. Laiskuutta on se ettei tee työtään tai vitkuttelee sen tekemisessä. Siinä että jonkun firman koodari tekee niin kuin käsketään ei ole laiskuutta.

Helppo se on tietysti sieltä ylhäisyydestä haukkua kun ei itse osallistu tekemiseen vaan voi tietokoneen takaa kritisoida muita :happy:

Huoh. Käytin sanaa "laiskuus" joka tässä tapauksessa sisältää kaiken mille ei ole todellista estettä olemassa. Rakentamisen laatu nykyään -ketjusta löytyy hyviä esimerkkejä siitä kuinka asiat tehdään päin mäntyä. Syynä voi olla mainittu laiskuus tai kyseessä voi olla jotain muuta joka EI mene kakkoskategoriaan. Onko se todellinen syy laiskuus, rahan säästö, huono tekijä tai jotain muuta on epäolennaista koska en usko noiden rakennusvirheiden olevan sellaisia joita ei mitenkään olisi voinut nykytekniikalla välttää. Ts. on mahdotonta tehdä kyseisenlainen rakennelma paremmin toimivana.

Silloin laiskuus on hyvä termi, vaikka todellisena syynä olisikin esim. raha.

Kyllä, vaatimukset usein ovat aika ja raha.

Tässäkin syynä monesti aika ja raha.

Yksityisellä rahalla pyörivissä firmoissa kaikkien asioiden tekemistä tai tekemättä jättämistä ei yleensä päätä koodaava insinööri vaan ne päätökset tekee usein ekonomi tai vastaava kirstunvartija. Monesti tämä on myös firman ulkopuolinen henkilö/instanssi. Pelien tapauksessa esimerkiksi julkaisija.

Onneksi osa tästä säikeistystuskasta on "ulkoistettu" enginepajoille esim Epic/UE ja Unity.

Joko saadaan kohta modeosastolta piiskaa palata takaisin Intel/AMD väittelyyn:cigar2:

Kuten tavallista, aina joku ymmärtää mistä kyse.
 
Huoh. Käytin sanaa "laiskuus" joka tässä tapauksessa sisältää kaiken mille ei ole todellista estettä olemassa. Rakentamisen laatu nykyään -ketjusta löytyy hyviä esimerkkejä siitä kuinka asiat tehdään päin mäntyä. Syynä voi olla mainittu laiskuus tai kyseessä voi olla jotain muuta joka EI mene kakkoskategoriaan. Onko se todellinen syy laiskuus, rahan säästö, huono tekijä tai jotain muuta on epäolennaista koska en usko noiden rakennusvirheiden olevan sellaisia joita ei mitenkään olisi voinut nykytekniikalla välttää. Ts. on mahdotonta tehdä kyseisenlainen rakennelma paremmin toimivana.

Silloin laiskuus on hyvä termi, vaikka todellisena syynä olisikin esim. raha.
Kaikkeen ohjelmointiin pätee kyllä se, että yleensä tehdään ensin toimivaa, ja sitten katsotaan, että pyöriikö softa riittävän nopeasti. Jos ei pyöri, ruvetaan pähkäilemään, että miten optimoidaan vai käytetäänkö järeämpää rautaa. Ei se ole laiskuutta, että aika nopeasti todetaan, että nyt softa on riittävän nopeaa. Optimointi kun ei tuo uutta sisältöä ohjelmaan. Eri asia tietysti, jos sovelluksen idea on mahdollisimman nopea numeronmurskaus. Pelien kohdalla sen sijaan riittää, että peli on vain riittävän nopea.
 
Kaikkeen ohjelmointiin pätee kyllä se, että yleensä tehdään ensin toimivaa, ja sitten katsotaan, että pyöriikö softa riittävän nopeasti. Jos ei pyöri, ruvetaan pähkäilemään, että miten optimoidaan vai käytetäänkö järeämpää rautaa. Ei se ole laiskuutta, että aika nopeasti todetaan, että nyt softa on riittävän nopeaa. Optimointi kun ei tuo uutta sisältöä ohjelmaan. Eri asia tietysti, jos sovelluksen idea on mahdollisimman nopea numeronmurskaus. Pelien kohdalla sen sijaan riittää, että peli on vain riittävän nopea.

OK, eli kaikki pelit pyörivät riittävän nopeasti ja silti täällä valitetaan kuinka AMD:n työpöydän lippulaivaprosessorilla pelit pyörivät huonosti. Ai mutta, tuohon "pyörii tarpeeksi hyvin" riittää kun toteaa 30 FPS riittävän ja siinä se. Eipä tullut mieleen asian olevan noin yksinkertainen :smoke:

Tuo on nimenomaan laiskuutta, vaikka takana olisikin raha tai jokin muu. Samalla tavalla Android päivitysten julkaisematta jättämisessä puhutaan laiskuudesta. Vaikka syynä on tietenkin raha, silti laiskuus on hyvä termi kuvaamaan asiaa. Joka on pohjimmiltaan sama kuin tässä säikeistyksessä: rahaa kuluu joten jätetään tekemättä, vaikka hyvin voitaisiin tehdä.
 
OK, eli kaikki pelit pyörivät riittävän nopeasti ja silti täällä valitetaan kuinka AMD:n työpöydän lippulaivaprosessorilla pelit pyörivät huonosti. Ai mutta, tuohon "pyörii tarpeeksi hyvin" riittää kun toteaa 30 FPS riittävän ja siinä se. Eipä tullut mieleen asian olevan noin yksinkertainen :smoke:

Tuo on nimenomaan laiskuutta, vaikka takana olisikin raha tai jokin muu. Samalla tavalla Android päivitysten julkaisematta jättämisessä puhutaan laiskuudesta. Vaikka syynä on tietenkin raha, silti laiskuus on hyvä termi kuvaamaan asiaa. Joka on pohjimmiltaan sama kuin tässä säikeistyksessä: rahaa kuluu joten jätetään tekemättä, vaikka hyvin voitaisiin tehdä.
Onpas taas olkiukkoilua. Mikä on se peli, joka pyörii lippulaiva-Ryzenillä 30 fps, mutta Intelillä riittävän nopeasti (joka on paljon yli 30 fps) prosessorin ollessa pullonkaulana? Eiköhän tilanne ole se, että AMD:n vehkeillä sinänsä suorituskyky on peleissä hyvä, mutta Intelillä se vain on useimmissa tapauksissa parempi.

Sinänsä jos tuollainen peli jostain löytyisi, niin luultavasti se olisi juurikin liialla optimoinnilla pilattu. Mikäs peli se olikaan silloin Ryzenin julkaisun aikoihin, jossa oli liian kikkaileva Intel-optimointi, joka sivuvaikutuksena romahdutti Ryzen-suorituskyvyn?
 
Onpas taas olkiukkoilua. Mikä on se peli, joka pyörii lippulaiva-Ryzenillä 30 fps, mutta Intelillä riittävän nopeasti (joka on paljon yli 30 fps) prosessorin ollessa pullonkaulana? Eiköhän tilanne ole se, että AMD:n vehkeillä sinänsä suorituskyky on peleissä hyvä, mutta Intelillä se vain on useimmissa tapauksissa parempi.

Sinänsä jos tuollainen peli jostain löytyisi, niin luultavasti se olisi juurikin liialla optimoinnilla pilattu. Mikäs peli se olikaan silloin Ryzenin julkaisun aikoihin, jossa oli liian kikkaileva Intel-optimointi, joka sivuvaikutuksena romahdutti Ryzen-suorituskyvyn?

Et ole tainnut lukea tätä ketjua tai konepakettisuosituksia tällä foorumilla? Jos AMD:n prosessori jää pelissä jollekin suunnilleen samanhintaiselle Intelille, ei AMD:ta voi suositella pelaamiseen. Niin se tuppaa menemään.

30 FPS taas liittyi Ubisoftin(?) lausuntoon jossa 30 FPS oli riittävästi. Minkä tahansa pelin saa pyörimään "tarpeeksi hyvin" kun vaan laittaa riman tarpeeksi alas.

Ei tule mieleen mikä peli poli uollainen.
 
Et ole tainnut lukea tätä ketjua tai konepakettisuosituksia tällä foorumilla? Jos AMD:n prosessori jää pelissä jollekin suunnilleen samanhintaiselle Intelille, ei AMD:ta voi suositella pelaamiseen. Niin se tuppaa menemään.
Miksi sen pitäisi mennä jotenkin muuten :confused: Jos henkilö haluaa kiveä pelikäyttöön ja samalla budjetilla AMD:n kivi jää Intelille niin miksi sitä AMD:tä pitäisi suositella :confused: Tällä hetkellähän se on niin että halvemmissa segmenteissä Intelin kivet jäävät AMD:lle. Sinne 400-500 hujakoille noustessa tullaan siihen luokkaan missä sininen leiri alkaa erottua. Eikös tuon pitäisi olla ihan puhtaasti siitä budjetista kiinni - valita se kivi mikä tarjoaa absoluuttisen parasta pelisuorituskykyä sillä rahalla mitä siihen on valmis upottamaan.
 
Jos AMD:n prosessori jää pelissä jollekin suunnilleen samanhintaiselle Intelille, ei AMD:ta voi suositella pelaamiseen. Niin se tuppaa menemään.

Näinhän se netissä menee. Jos joku CPU on x% tai y fps hitaampi (vaikka x ja y single digit) on se hitaampi totaalisen paska jolla ei tee yhtään mitään.
Yleensä ihmiset kehuu sitä merkkiä joka on tullut itselle ostettua.

valita se kivi mikä tarjoaa absoluuttisen parasta pelisuorituskykyä sillä rahalla mitä siihen on valmis upottamaan

Jep. Ja itselle sopiva. Jos esim etsii 4k resolla pelaamiseen kiveä niin threadista kannatta ignoorata kommentit: "Intel pyörittää 1080p CS:GO:ta X fps nopeammin älä osta Ryzeniä se on paska"
 
Miksi sen pitäisi mennä jotenkin muuten :confused: Jos henkilö haluaa kiveä pelikäyttöön ja samalla budjetilla AMD:n kivi jää Intelille niin miksi sitä AMD:tä pitäisi suositella :confused: Tällä hetkellähän se on niin että halvemmissa segmenteissä Intelin kivet jäävät AMD:lle. Sinne 400-500 hujakoille noustessa tullaan siihen luokkaan missä sininen leiri alkaa erottua. Eikös tuon pitäisi olla ihan puhtaasti siitä budjetista kiinni - valita se kivi mikä tarjoaa absoluuttisen parasta pelisuorituskykyä sillä rahalla mitä siihen on valmis upottamaan.

Kehitys menee eteenpäin ja Intelin tietoturvapaikat syövät yhä enemmän nopeutta.

Tuosta näkee hyvin kuinka "nopea" se 2500K onkaan verrattuna "hitaaseen" FX-8350:n nykyisellä pelillä:

0Bnt0i5.png


Ei välttämättä kannata tuijottaa pelkästään tämän hetken pelinopeutta. Menihän siihen kauan mutta lopulta FX meni heittämällä ohi.

Sitähän varoiteltiin ei kovin kauaa sitten myös ettei 4-säikeistä prosessoria kannata hankkia pelikäyttöön. i5-7600K:n tulokselle huutonaurua.
 
Monisäikeistys on pirun vaikeaa jo tehtävissä, missä ei tarvitse välittömästi mukautua tehtävän muutoksiin (käyttäjän input, servun päivitykset jne), peleistä puhumattakaan.

On naurettavaa puhua laiskuudesta tässä yhteydessä.
 
Tuosta näkee hyvin kuinka "nopea" se 2500K onkaan verrattuna "hitaaseen" FX-8350:n nykyisellä pelillä:

0Bnt0i5.png
Ihan kiva kuvaaja. Mä en tosin vertaile 5-10 vuotta vanhoja prossuja keskenään vaan niitä mitä on tällä hetkellä markkinoilla myynnissä.

Kehitys tosiaan kehittyy. Sinäkään et esimerkiksi voi ennustaa miten vaikkapa tuo 9900K ja 2700X vertautuvat tuon samaisen ~8 vuoden päästä.
 
Monisäikeistys on pirun vaikeaa jo tehtävissä, missä ei tarvitse välittömästi mukautua tehtävän muutoksiin (käyttäjän input, servun päivitykset jne), peleistä puhumattakaan.

On naurettavaa puhua laiskuudesta tässä yhteydessä.

Tätä "säikeistys vaikeaa/mahdotonta" selittelyä on tullut luettua vaikka kuinka kauan. Täyttä roskaahan se on. Mikäli pitäisi paikkaansa, suurin osa peleistä pyörisi vieläkin hyvin yhden ytimen prosessorilla ja konsoleissa olisi max. tuplaydinprosessorit :facepalm:

On paljon helpompaa selittää asian olevan vaikea/mahdoton kuin yrittää ratkaista sitä. Tuota voi kutsua vaikka laiskuudeksi.

Ihan kiva kuvaaja. Mä en tosin vertaile 5-10 vuotta vanhoja prossuja keskenään vaan niitä mitä on tällä hetkellä markkinoilla myynnissä.

Kehitys tosiaan kehittyy. Sinäkään et esimerkiksi voi ennustaa miten vaikkapa tuo 9900K ja 2700X vertautuvat tuon samaisen ~8 vuoden päästä.

i5-7600K on alle vuoden vanha prosessori, eli aika uusi tapaus. Silti häviää AMD:n 7 vuotta vanhalle prosessorille joka oli selkeästi halvempi.
 
i5-7600K on alle vuoden vanha prosessori, eli aika uusi tapaus. Silti häviää AMD:n 7 vuotta vanhalle prosessorille joka oli selkeästi halvempi.
Voisin jotain lässyttää tilastojen cherrypickaamisesta kun tuo toteutuu tasan yhdessä pelissä mutta en jaksa.

Lopetetaanko tältä päivältä? Meen petiin odottamaan, tuu kohta perässä kun oot valmis :scrackmakeup:
 
Jos ja kun tulee 12 ja 16 ytimisiä niin kumpihan noista on fiksumpi?

Jos 12-ytimisen boost/XFR/turbo-kellot ovat havaittavasti korkeammat kuin 16-ytimisellä niin siinä tapauksessa se on pääsääntöisesti fiksumpi vaihtoehto. Peleissä nykyisellään siitä maksimaalisesta "muutaman threadin" suorituskyvystä on hyötyä kun taas ytimien lisäämisestä yli 8:n ei pahemmin taida peleissä sopivaa esimerkkiä olla. Enkoodaus ym. laskentahommiin riippuu ihan käytettävästä ohjelmasta. Jos sieltä ei irtoa kunnollista tukea riittävän monelle ytimelle niin korkeammat kellotaajuudet voittavat. @The Stilt muistaakseni esitti asiasta jonkun tietyllä ohjelmalla/codecilla olleen esimerkin, missä jonkun videokoodauksen skaalautuminen ytimien mukaan alkoi tippumaan kun mentiin 10+ ytimen lukemiin. Sitten jos on todella hyvin säikeistyvä ja muistikaistasta riippumaton kuorma niin 16-ytimistä kehiin.

Tämä siis oletuksena, että sieltä tulee ko. ydinmäärillä olevat prossut ja 12-ytimisessä on 0.3-0.4 GHz enemmän kelloja kuten näissä vuodoissa/mahdollisissa fakeissa.
 
Viimeksi muokattu:
Tätä "säikeistys vaikeaa/mahdotonta" selittelyä on tullut luettua vaikka kuinka kauan. Täyttä roskaahan se on. Mikäli pitäisi paikkaansa, suurin osa peleistä pyörisi vieläkin hyvin yhden ytimen prosessorilla ja konsoleissa olisi max. tuplaydinprosessorit :facepalm:

Voisitko olla puhumatta paskaa ja vänkäämättä asioista, joista et tiedä oikeasti yhtään mitään.

Minä opetan työkseni "Parallel computing"-kurssia Tampereen (entisessä teknillisessä) Yliopistossa, ja olen ohjelmoinut työkseni melkein 20 vuotta.

Sinä et osaa ohjelmoida Hello Worldia enempää.

Kumpikohan meistä tietää enemmän siitä, kuinka vaikeaa rinnakkaisohjelmointi on.


Jälleen ajankohtainen linkki: Dunning–Kruger effect - Wikipedia
 
Viimeksi muokattu:
Huomautus: Pidetääs ne maalitolpat paikoillaan ja seistään omien sanojen takana
Voisitko olla puhumatta paskaa ja vänkäämättä asioista, joista et tiedä yhtään mitään.

Minä opetan työkseni "Parallel computing"-kurssia Tampereen (entisessä teknillisessä) Yliopistossa, ja olen ohjelmoinut työkseni melkein 20 vuotta.

Sinä et osaa ohjelmoida Hello Worldia enempää.

Kumpikohan meistä näillä meriiteillä tietää enemmän siitä, kuinka vaikeaa rinnakkaisohjelmointi on.

Ei sillä ole mitään väliä vaikka olisit koodannut 100 tietokonepeliä. Ei se tarkoita että kaikki väitteesi pelikoodauksesta on aina oikein.

Eihän siitä hirveän kauaa ole kun selitettiin säikeistyksen peleissä olevan todella vaikeaa saada toteutettua. Siihen aikaan kuin about jokainen peli käytti yhtä säiettä. Eipä tosin prosessoreissakaan ollut kuin yksi ydin.

Entäs nyt sitten? Olisi hyvin hauska nähdä kuinka "hyvin" pelit toimivat yhden ytimen prosessoreilla. Moni ei edes suostuisi käynnistymään.

Miten tässä näin kävi? Oliko säikeistys sittenkään "mahdotonta"? Ei todellakaan ollut. Yksi osatekijä on tietenkin AMD:n konsoliprosessorit. 8 heikkotehoista ydintä tarkoittaa ettei tehoja saa ellei ota useampaa ydintä käyttöön. Ja kas, ongelma pitkälti ratkesi. Myös ihan satavarmasti säikeistys muuttuu maagisesti "helpommaksi" heti kun konsoleihin tulee 8+ säikeisiä prosessoreita.

Eli täysin turha jauhaa paskaa siitä kuinka säikeistys muka olisi jokin huippuvaikea homma. Laiskuudesta ja siihen liittyvistä on kyse. Historia sen osoittaa pitävästi ja kiistatta.
 
Ei sillä ole mitään väliä vaikka olisit koodannut 100 tietokonepeliä. Ei se tarkoita että kaikki väitteesi pelikoodauksesta on aina oikein.

Eihän siitä hirveän kauaa ole kun selitettiin säikeistyksen peleissä olevan todella vaikeaa saada toteutettua. Siihen aikaan kuin about jokainen peli käytti yhtä säiettä. Eipä tosin prosessoreissakaan ollut kuin yksi ydin.

Entäs nyt sitten? Olisi hyvin hauska nähdä kuinka "hyvin" pelit toimivat yhden ytimen prosessoreilla. Moni ei edes suostuisi käynnistymään.

Miten tässä näin kävi? Oliko säikeistys sittenkään "mahdotonta"? Ei todellakaan ollut. Yksi osatekijä on tietenkin AMD:n konsoliprosessorit. 8 heikkotehoista ydintä tarkoittaa ettei tehoja saa ellei ota useampaa ydintä käyttöön. Ja kas, ongelma pitkälti ratkesi. Myös ihan satavarmasti säikeistys muuttuu maagisesti "helpommaksi" heti kun konsoleihin tulee 8+ säikeisiä prosessoreita.

Eli täysin turha jauhaa paskaa siitä kuinka säikeistys muka olisi jokin huippuvaikea homma. Laiskuudesta ja siihen liittyvistä on kyse. Historia sen osoittaa pitävästi ja kiistatta.

Hienosti siirtelet maalitolppia.

On melko helppoa monisäikeistää joitain pieniä yksittäisiä rutiineita siitä pelistä, ja saada siten jonkin verran kuormaa jaettua muille ytimille.

Helpoimmillaan tämä joissain harvoissa rutiineissa onnistuu jopa yhdellä #pragma omp parallel for - rivillä.


Tästä ei kuitenkaan tässä keskustelussa puhuttu, tässä keskustelussa puhuttiin siitä, että päästäisiiin eroon siitä yhdestä raskaammasta säikeestä, jonka suorituskyvyllä on paljon väliä.

Ja se, että rinnakkaistettaisiin "kaikki" ja päästäisiin eroon siitä yhdestä raskaammasta "master-säikeestä" jonka kontrolloi kaikkea on ziljoona kertaa vaikeampaa. Ja joillain (vanhoilla) rajapinnoilla jopa mahdotonta.

Tai että saataisiin kuormanjako toimimnaan jotenkin täydellisesti monen eri rutiinin välillä.

Ja tätä sinä et tunnu käsittävän vaan jatkat typerää inttämistäsi. Etkä ymmärrä eroa. Koska et ymmärrä ohjelmoinnista yhtään mitään. Et ymmärrä yhtään, millaisia rakenteita siellä koodissa on ja mitä niiden välillä voi rinnakkaistaa ja miten. Minä ymmärrän. Minä opetan rinnnakkaisuuden tunnistamista ja hyödyntämistä koodista työkseni


Että voisitko nyt vaan lopettaa tuon vänkäämisesi, ja yrittää sen sijaan oppia jotain. Aloita vaikka oppiminunen koodaamalla hello world. Koodaa sen jälkeen vaikka ohjelma joka printtaa luuvut ykkösestä kuuteenkymmeneenneljään, ja tee siitä myös monisäikeistetty versio, ja kokeile, toimiiko monisäikeistetty ohjelmasi oikein ;)
 
Viimeksi muokattu:
Ei sillä ole mitään väliä vaikka olisit koodannut 100 tietokonepeliä. Ei se tarkoita että kaikki väitteesi pelikoodauksesta on aina oikein.

Eihän siitä hirveän kauaa ole kun selitettiin säikeistyksen peleissä olevan todella vaikeaa saada toteutettua. Siihen aikaan kuin about jokainen peli käytti yhtä säiettä. Eipä tosin prosessoreissakaan ollut kuin yksi ydin.

Entäs nyt sitten? Olisi hyvin hauska nähdä kuinka "hyvin" pelit toimivat yhden ytimen prosessoreilla. Moni ei edes suostuisi käynnistymään.

Miten tässä näin kävi? Oliko säikeistys sittenkään "mahdotonta"? Ei todellakaan ollut. Yksi osatekijä on tietenkin AMD:n konsoliprosessorit. 8 heikkotehoista ydintä tarkoittaa ettei tehoja saa ellei ota useampaa ydintä käyttöön. Ja kas, ongelma pitkälti ratkesi. Myös ihan satavarmasti säikeistys muuttuu maagisesti "helpommaksi" heti kun konsoleihin tulee 8+ säikeisiä prosessoreita.

Eli täysin turha jauhaa paskaa siitä kuinka säikeistys muka olisi jokin huippuvaikea homma. Laiskuudesta ja siihen liittyvistä on kyse. Historia sen osoittaa pitävästi ja kiistatta.
Nyt on taas sen tason väittämistä, että parempi ehkä olla hiljaa. Näin juniorkoodarina ja juurikin pienempiä pelejä koodanneena voin todeta, että hkultalan puheet pitävät paikkaansa. Mikäli tuo on sinulle helppoa niin suosittelen laittamaan hakemusta dicelle tms. Sieltä saat töitä samantien ko. hommaan ja varmaan palkkatoiveenkin voit viritellä haluamaksesi.
 
Hienosti siirtelet maalitolppia.

On melko helppoa monisäikeistää joitain yksittäisiä rutiineita siitä pelistä, ja saada jonkin verran kuormaa jaettua muille säikeille.

Helpoimmillaan tämä joissain harvoissa rutiineissa onnistuu jopa yhdellä #pragma omp parallel for - rivillä.

Sen sijaan se, että rinnakkaistettaisiin "kaikki" ja päästäisiin eroon siitä yhdestä raskaammasta "master-säikeestä" jonka kontrolloi kaikkea on ziljoona kertaa vaikeampaa. Ja joillain (vanhoilla) rajapinnoilla jopa mahdotonta.

Ja tätä sinä et tunnu käsittävän vaan jatkat typerää inttämistäsi. Etkä ymmärrä eroa. Koska et ymnmärrä ohjelmoinnista yhtään mitään.

Ettvä voisitko nyt vaan lopettaa tuon vänkäämisesi.

Missä kohtaa olen sanonut "kaiken voi rinnakkaistaa"? Missä kohtaa olen sanonut yhdestä raskaasta säikeestä eroon pääsemisen olevan helppoa vanhemmilla DirectX rajapinnoilla? En missään.

Lue ihan oma tekstisi:

Koska peli on ziljoona kertaa helpompi kirjoittaa siten, että siellä on yksi "master-säie" joka kordinoi kaiken. Ja esim. DX11-rajapinta käytännössä VAATII tätä. Ja DX12-rajapinta on paljon vaikeampi käyttää.

"Helpompi", "paljon vaikeampi käyttää". Eli toisin sanottuna kyseessä on enemmän se mainitsemani laiskuus kuin että säikeistäminen on "mahdotonta".

Olet pohjimmiltaan ihan samaa mieltä asiasta ja silti vänkäät koska termi "laiskuus" ei jostain kumman syystä aukea.

Nyt on taas sen tason väittämistä, että parempi ehkä olla hiljaa. Näin juniorkoodarina ja juurikin pienempiä pelejä koodanneena voin todeta, että hkultalan puheet pitävät paikkaansa. Mikäli tuo on sinulle helppoa niin suosittelen laittamaan hakemusta dicelle tms. Sieltä saat töitä samantien ko. hommaan ja varmaan palkkatoiveenkin voit viritellä haluamaksesi.

Höpö höpö. Mikäli nämä "säikeistys mahdotonta" jutut pitäisivät paikkaansa, pelit pyörisivät edelleen hyvin yhden ytimen prosessoreilla. Ja varmasti pyörisivätkin mikäli enemmistöllä olisi käytössä yhden ytimen prosessoreita.

Mutta kas kummaa kun prosessorien ydinmäärät ovat kasvaneet, myös säikeistyvien pelien määrä on kasvanut. Mikäli prosessorien ydinmäärät kasvavat entisestään, myös pelien säikeistys paranee tulevaisuudessa. Missä siis on se säikeistyksen "mahdottomuus"? Kyllä se motivaatio tehdä säikeistystä on se mikä on ratkaissut. Ja mikä ratkaisee jatkossakin. Ehkä jossakin kohtaa tulevat rajat vastaan mutta eivät vielä pitkään aikaan.
 
Missä kohtaa olen sanonut "kaiken voi rinnakkaistaa"?
Miksi pitäisi olla mitään kriittistä säiettä? Mikäli hyvin säikeistyvässä softassa on selkeä yksittäinen säie joka suorituskykyä selvästi rajoittaa, softassa on pahemmin vikaa. Tuollaisessa tilanteessa rajoittaa ennemmin se kuinka nopeasti prosessori suorittaa kaikkia säikeitä.

Niinkuin oikeasti.
 
Jep niin minkäin sen vähän ajattelin että jos boosta korkeammalle niin otan sen :cigar2:
Jos en nyt aivan väärässä ole niin ryzenit toimii aika hyvin kun jäähdyttää ja antaa itse boostailla

Ainakin omat kokemukset 2700X:n kuorman mukaan boostailuista ovat sen verran hyviä että jos toimii vähintään yhtä hyvin niin ei pienintäkään hätää. Peleissä nostaa kelloja kiitettävän lähelle maksimia ja kaikkien ytimien kuormassa suunnilleen 4 GHz taulussa koko ajan.

Se on sitten eri asia että miksi noissa vuodoissa sille 16-ytimiselle on maksimiboostit selvästi pienemmät kuin 12-ytimiselle. Eivät kuitenkaan ne neljä lisäydintä vie idlatessakaan niin paljoa että selittäisi usean sadan megahertsin eroa tuohon suuntaan etenkin kun TDP-ero on iso ja tasan varmasti kattaa idlaavien ytimien extrakulutuksen. Vertaa 2600X vs 2700X, ei 2700X:kään jää jälkeen kelloissa missään tilanteessa. Tämän takia haisee fake hommassa.

CES-messujen jälkeen olemme toivottavasti viisaampia.
 
Missä kohtaa olen sanonut "kaiken voi rinnakkaistaa"? Missä kohtaa olen sanonut yhdestä raskaasta säikeestä eroon pääsemisen olevan helppoa vanhemmilla DirectX rajapinnoilla? En missään.

Lue ihan oma tekstisi:



"Helpompi", "paljon vaikeampi käyttää". Eli toisin sanottuna kyseessä on enemmän se mainitsemani laiskuus kuin että säikeistäminen on "mahdotonta".

Olet pohjimmiltaan ihan samaa mieltä asiasta ja silti vänkäät koska termi "laiskuus" ei jostain kumman syystä aukea.



Höpö höpö. Mikäli nämä "säikeistys mahdotonta" jutut pitäisivät paikkaansa, pelit pyörisivät edelleen hyvin yhden ytimen prosessoreilla. Ja varmasti pyörisivätkin mikäli enemmistöllä olisi käytössä yhden ytimen prosessoreita.

Mutta kas kummaa kun prosessorien ydinmäärät ovat kasvaneet, myös säikeistyvien pelien määrä on kasvanut. Mikäli prosessorien ydinmäärät kasvavat entisestään, myös pelien säikeistys paranee tulevaisuudessa. Missä siis on se säikeistyksen "mahdottomuus"? Kyllä se motivaatio tehdä säikeistystä on se mikä on ratkaissut. Ja mikä ratkaisee jatkossakin. Ehkä jossakin kohtaa tulevat rajat vastaan mutta eivät vielä pitkään aikaan.
Huoh. Luetko ollenkaan mitä sinulle kirjoitetaan? Tässä ei ole kukaan väittänyt, että tuo säikeistyminen olisi mahdotonta. Tässä on sanottu varmaan 100x, että hyvin säikeistyvän pelin ohjelmointi on jo ensinnäkin suunnittelun kannalta työlästä ja ennenkaikkea toteutuksen puolesta. Se että peli lähdetään tällä tavoin toteuttamaan ottaa puhtaasti 2^n ajan vrt. hkultalan em. kuvaileman tavan ohjelmoida peliä. Ymmärrät varmaan, että nyrkkipaja jossa on 100-200 työntekijää sis. alihankkijat ei ihan hirmu mielellään lähde toteuttamaan mitään tuollaista jo kustannussyistä, etenkään jos pelikokemuksen kannalta sillä ei ole suuremmoista merkitystä.:facepalm:
 
Niinkuin oikeasti.

Mitä tuossa on epäselvää? Hyvin säikeistyvissä ohjelmissa harvemmin on sitä yhtä selvästi rajoittavaa säiettä koska ne säikeistyvät paremmin. Moniydinprosessoreissa kun tuppaa kellotaajuus laskemaan sitä mukaa kun enemmän ytimiä otetaan käyttöön...

Huoh. Luetko ollenkaan mitä sinulle kirjoitetaan? Tässä ei ole kukaan väittänyt, että tuo säikeistyminen olisi mahdotonta. Tässä on sanottu varmaan 100x, että hyvin säikeistyvän pelin ohjelmointi on jo ensinnäkin suunnittelun kannalta työlästä ja ennenkaikkea toteutuksen puolesta. Se että peli lähdetään tällä tavoin toteuttamaan ottaa puhtaasti 2^n ajan vrt. hkultalan em. kuvaileman tavan ohjelmoida peliä. Ymmärrät varmaan, että nyrkkipaja jossa on 100-200 työntekijää sis. alihankkijat ei ihan hirmu mielellään lähde toteuttamaan mitään tuollaista jo kustannussyistä, etenkään jos pelikokemuksen kannalta sillä ei ole suuremmoista merkitystä.:facepalm:

Ja minä taas olen sanonut varmaan 100x että säikeistyksessä on kyse ennen kaikkea laiskuudesta ja siihen liittyvistä asioista, joihin sisältyy rahankäyttö, vaiva, aika ja niin edelleen.

1. Asia pystytään tekemään jos halutaan (ja n+1 muuta ehtoa tähän)

2. Asiaa ei pystytä tekemään vaikka kuinka haluttaisiin koska (tähän syyt)

Säikeistys on tuota ykköskategoriaa. Hyvin säikeistyvän pelin saa ihan varmasti tehtyä jos on osaavat tekijät, loputon budjetti.

Sitten on tiettyjä asioita kakkoskategoriassa joita ei pystytä tekemään nykytekniikalla vaikka olisi kuinka loputon budjetti käytössä.

Millä perusteella pelien säikeistys on kakkoskategoriaa? Ei millään. Siksi säikeistyksen mahdollinen puute on ilman muuta laiskuutta ja siihen liittyviä asioita (joihin sisältyy jne).
 
Sitähän olen koko ajan sanonutkin: koodaajien laiskuudesta on pohjimmiltaan kyse eikä mistään muusta.



Ei olekaan niin, sehän on selvä että tuollainen tuottaa lisää työtä. "Ei pystyy tekemään" ja "ei tehdä koska maksaa, on vaivaa, ei kiinnosta ja niin edelleen" ovat eri asioita.

Koko keskusteluhan lähti siitä ettei kuulemma tiettyjä asioita pysty säikeistämään. No ei pystykään mutta pullonkaula on edelleen hyvin vahvasti ohjelmoijien puolella, ei siinä etteikö pelejä pystyttäisi säikeistämään koska on jokin vakavanlaatuinen ongelma jolle ei yksinkertaisesti ole olemassa ratkaisua.



Tänä vuonna bugisena, paras vaihtoehto. Ja myös ehkäpä kaikkein yleisin :smoke:

Jyllä se koodaajien laikuus vähenee paljonkin, kun palaajat käyvät maksamaan mukisematta esim 120e / peli ja silti ostavat yhtäpaljon, kuin nykyään. Eli koodaus on kallista, jos siihen halutaan lisää resursseja, niin pitää maksaa!

Halpa ja hyvä ei usein koodauksen lopputuotteenakaan kohtaa, ihan perus syistä.

Ja niin tai näin, niin se säikeistys käytännössä onnistuu järkevästi vain tiettyyn rajaan asti.
Tosin mitä enemmän johonkin peliin tulee liikkuvia palikoita, niin sitä enemmän niitä monasti pystytään säikeistämään (Jos ne eivät riipu toisistaan..)
 
Threadripper sanoi:
Ja minä taas olen sanonut varmaan 100x että säikeistyksessä on kyse ennen kaikkea laiskuudesta ja siihen liittyvistä asioista, joihin sisältyy rahankäyttö, vaiva, aika ja niin edelleen.

Se, että jotain täysin virheellistä ja typerää hokee sata kertaa ei tee siitä totta eikä fiksua.

Tässä on kyse tuottavuudesta ja tuotekehitysajasta, ei laiskuudesta.



edit: mitähän tämä foorumi meinasi bugata, kun meinasi aluksi tulla lainaukseen väärä nimi..
 
Se, että jotain täysin virheellistä ja typerää hokee sata kertaa ei tee siitä totta.

Tässä on kyse tuottavuudesta, ei laiskuudesta.
Juurikin näin. Se perus kalle-koodari kyllä tekee varmasti ihan mielellään tuotakin hommaa, kun tunnit juoksee samaan aikaan. Työnantaja tosin on toista mieltä etenkin, kun isommissa peleissä ensimmäinen ongelma ei yleensäkään ole se miten peli toimii tietyillä prosessoreilla vaan yleisen pelikokemuksen ja käytettävyyden viimeistely, jotta myynti pysyisi jatkossakin kasvavana.

Ja niin tai näin, niin se säikeistys käytännössä onnistuu järkevästi vain tiettyyn rajaan asti.
Tosin mitä enemmän johonkin peliin tulee liikkuvia palikoita, niin sitä enemmän niitä monasti pystytään säikeistämään (Jos ne eivät riipu toisistaan..)
Kyllä näin on. Mutta kuten jo edellä mainittiin niin lähes aina jokin mainprosessi paisuu isommaksi, vaikka muita romuja saataisiinkin jaettua toisille säikeille. Tuo johtaa taas sitten suorituskyvyn sakkaamiseen.
 
:facepalm:

Ei ole.

Pelikoodarin tehtävä on saada peli valmiiksi ja toimimaan järkevällä aikataululla.

Ei optimoida sen suorituskykyä vuosia jotta saadaan peli bugisena pihalle vuosia myöhässä.

Jos on yhtään tehnyt mitään työtä missä on minkäänlaista tulosvastuullisuutta pitäisi ymmärtää tällaiset asiat.

Tämä on niin totta, niin monella alalla. Jatkuvasti joutuu miettimään: Kulut n e/h, arvioitu aika työn tekemiselle m tuntia. Lopputuloksen arvo, mitä asiakas siitä olisi valmis makamaan = n*m + lisäkulut, ei se halua maksaa -> Sori, en tee, et halua tätä. Ja jos välttämättä haluaa, niin sitten pistetään ehdot s.e. voidaan juostenkusta homma kulujen säästämiseksi, eikä lopputulos ole oikeasti kenestäkään hyvä. Tämä hommien loppuun kilpailuttamisem seuraukset ovat olleet nähtävissä valitettavati niin monissa projekteissa, vähän kaikilla aloilla, yhä uudestaan ja uudestaan.

Voi myös käydä niin, että hommaan palkattu firma ensin viivästyttää puolen vuoden projektia vaikkapa vuodella, jonka jälkeen keikkaa nurin ja sitten palkataan toinen firma ja tilanne voi olla jopa pahempi, kuin alussa, vaikka koko budjetti on jo käytetty..
---------
Yksi tapa, jolla kilpailutuksissa kusetetaan firmoja on tietysti se, että tietetään suunnitelmat firmassa X ilmaiseksi (tarkka tarjouslaskelma ym) jos sitten ko homma tietetäänkin ko spekseillä firmassa Y, jolloin firma X on saattanut tehdä melko pirunmonta työtuntia ilmaiseksi.
 
Jyllä se koodaajien laikuus vähenee paljonkin, kun palaajat käyvät maksamaan mukisematta esim 120e / peli ja silti ostavat yhtäpaljon, kuin nykyään. Eli koodaus on kallista, jos siihen halutaan lisää resursseja, niin pitää maksaa!

Halpa ja hyvä ei usein koodauksen lopputuotteenakaan kohtaa, ihan perus syistä.

Ja niin tai näin, niin se säikeistys käytännössä onnistuu järkevästi vain tiettyyn rajaan asti.
Tosin mitä enemmän johonkin peliin tulee liikkuvia palikoita, niin sitä enemmän niitä monasti pystytään säikeistämään (Jos ne eivät riipu toisistaan..)

Eli säikeistystä ei rajoitakaan sen absoluuttinen vaikeus vaan se mitä pelaajat ovat valmiit maksamaan? Sitä olen koko ajan sanonutkin.

Olen sanonut samaa, tiettyyn rajaan asti. Joka on aika kaukana.

Niitä toisistaan riippumattomiin asioihin pätee ihan sama: ei se absoluuttinen vaikeus vaan...

Se, että jotain täysin virheellistä ja typerää hokee sata kertaa ei tee siitä totta eikä fiksua.

Tässä on kyse tuottavuudesta ja tuotekehitysajasta, ei laiskuudesta.

edit: mitähän tämä foorumi meinasi bugata, kun meinasi aluksi tulla lainaukseen väärä nimi..

Täysin oikean asian muuttaminen on turhaa.

Kuinkahan monta kertaa olen sanonut termin "laiskuus" sisältävän myös mm. rahalliset ja ajankäytölliset asiat? Aika monta kertaa.

Juurikin näin. Se perus kalle-koodari kyllä tekee varmasti ihan mielellään tuotakin hommaa, kun tunnit juoksee samaan aikaan. Työnantaja tosin on toista mieltä etenkin, kun isommissa peleissä ensimmäinen ongelma ei yleensäkään ole se miten peli toimii tietyillä prosessoreilla vaan yleisen pelikokemuksen ja käytettävyyden viimeistely, jotta myynti pysyisi jatkossakin kasvavana.

Miten työnantajan palkanmaksu, pelikokemuksen ja käytettävyyden viimeistely jne liittyvät siihen onko säikeistäminen mahdollista vai ei? Eivät mitenkään. Aivan täysin eri asioista kyse.

Kyllä näin on. Mutta kuten jo edellä mainittiin niin lähes aina jokin mainprosessi paisuu isommaksi, vaikka muita romuja saataisiinkin jaettua toisille säikeille. Tuo johtaa taas sitten suorituskyvyn sakkaamiseen.

Mikäli se yksittäinen säie Selkeästi rajoittaa, ei sovellus säikeisty kovin hyvin. Otetaan "hyvin säikeistyvä ohjelma" jossa yksi säie selvästi rajoittaa. Tämä yksi säie pitäisi saada suoritettua mahdollisimman nopeasti mutta samalla kun lisätään säikeiden määrää (=laitetaan lisää prosessoriytimiä töihin) prosessorin kellotaajuus laskee lähemmäs base clock:a jolloin tämän rajoittavan säikeen nopeus tippuu.

Tuossa tapauksessa ei voida sanoa ohjelman säikeistyvän hyvin.
 
Tässä voi myös miettiä että mitä hyötyä on laittaa suhteettoman paljon tunteja säikeistämiseen kun sekä 2700X että 9700K pyörittävät lähes kaikkia tuoreita julkaisuja sen verran hyvin että tahdin määrää lähes aina näyttis. Tai no 144hz ei välttämättä taitu mutta se on vielä vähän nicheä e-urheilun ulkopuolella.
 
Miten työnantajan palkanmaksu, pelikokemuksen ja käytettävyyden viimeistely jne liittyvät siihen onko säikeistäminen mahdollista vai ei? Eivät mitenkään. Aivan täysin eri asioista kyse.
:facepalm:
Älyät varmaan kaupallisen yrityksen toimitaperiaatteet? Hyvä. Varmaan osaat laskelmoida myös sen, että millä mentaliteetillä yritys kehittää tuotettaan, jotta yrityksen voitto saadaan maksimoitua?

Mikäli se yksittäinen säie Selkeästi rajoittaa, ei sovellus säikeisty kovin hyvin. Otetaan "hyvin säikeistyvä ohjelma" jossa yksi säie selvästi rajoittaa. Tämä yksi säie pitäisi saada suoritettua mahdollisimman nopeasti mutta samalla kun lisätään säikeiden määrää (=laitetaan lisää prosessoriytimiä töihin) prosessorin kellotaajuus laskee lähemmäs base clock:a jolloin tämän rajoittavan säikeen nopeus tippuu.

Tuossa tapauksessa ei voida sanoa ohjelman säikeistyvän hyvin.
:confused:
 
Eli säikeistystä ei rajoitakaan sen absoluuttinen vaikeus vaan se mitä pelaajat ovat valmiit maksamaan? Sitä olen koko ajan sanonutkin.

Olen sanonut samaa, tiettyyn rajaan asti. Joka on aika kaukana.

Niitä toisistaan riippumattomiin asioihin pätee ihan sama: ei se absoluuttinen vaikeus vaan...

No, jos palkkaat halvan timpurin vähäksi aikaa tekemään kotiin remonttia, niin saat tietyn lopputuloksen.
Jos taas palkaat pari kertaa kalliimman, jolle on maksettu enemmän, koska taitavampi tai palkkaat sen halvemman pidemmäksi aikaa, niin saat varmasti paremman lopputuloksen (Tiettyyn rajaan asti).

Asiakkaana kuitenkin päätät, mihin vedät rajan. Pelaajatkin ovat vetäneet rajat, joten lopputulos on se, mitä nykyään on. Pelaajalle on halvempaa ostaa esim se kalliimpi prossu, kuin maksaa kymmenien pelien hieromisesta erittäin hankalasti. Ja vastaan voi tulla jopa seinä, jolloin ei vain päästä tiettyyn suuntaan.

Prossuvalmistajat ovat nyt valinneet NIILLE halvan "monistetaan samaa" tien. PELAAVILLE asiakkaille tämän suunnan eteneminen ei ole välttämättä hyvä asia. Nyt ostetaan mielettömän moniytimisiä prossuja hommaan, jossa lisäytimistä ei tahdota saada oikein millään hyötyä.
 
Et ole tainnut lukea tätä ketjua tai konepakettisuosituksia tällä foorumilla? Jos AMD:n prosessori jää pelissä jollekin suunnilleen samanhintaiselle Intelille, ei AMD:ta voi suositella pelaamiseen. Niin se tuppaa menemään.

No jos molemmat on hinnaltaan samaa tasoa ja Intteli on parempi suorituskyvyltään niin en minäkään silloin AMD:tä suosittelisi. Mutta jos vaikka AMD häviää hiukan suorituskyvyssä ollen samaan aikaan selvästi halvempi, niin valinta ei ole sillloin kovinkaan vaikea.

@The Stilt muistaakseni esitti asiasta jonkun tietyllä ohjelmalla/codecilla olleen esimerkin, missä jonkun videokoodauksen skaalautuminen ytimien mukaan alkoi tippumaan kun mentiin 10+ ytimen lukemiin. Sitten jos on todella hyvin säikeistyvä ja muistikaistasta riippumaton kuorma niin 16-ytimistä kehiin. Tämä siis oletuksena, että sieltä tulee ko. ydinmäärillä olevat prossut ja 12-ytimisessä on 0.3-0.4 GHz enemmän kelloja kuten näissä vuodoissa/mahdollisissa fakeissa.

Jos on kova videoiden encoodaaja niin niitä videoita voi laittaa samaan aikaan vaikka 4 encoodaukseen ja jokaiselle pätkälle antaa 8 säiettä jolloin varmasti skaalautuu. Jos taas on sunnuntai encoodaaja niin tuskin sillä on hirveästi väliä että valmistuuko se pätkä 2min nopeammin.

Minä opetan työkseni "Parallel computing"-kurssia Tampereen (entisessä teknillisessä) Yliopistossa, ja olen ohjelmoinut työkseni melkein 20 vuotta.

Eikös se ole sanonta että ne opettaa jotka ei kykene kyseisen alan oikeisiin töihin? ;)

Mutta siis leipää talon pöytään koodaamalla tekevä kaveri jo vuosia sitten haukkui nyky koodarit täysin pystyyn kun ei ne osaa mitään. Kun se koodaaminen on tullut niin "helpoksi" kun on valmista kikkaretta. Sitten kun pitäisi jotain omaa luoda niin taidot loppuu siiheen ja nostetaan kädet pystyyn. Silti näitä kavereita on IT talot täynnä.
 
Mutta siis leipää talon pöytään koodaamalla tekevä kaveri jo vuosia sitten haukkui nyky koodarit täysin pystyyn kun ei ne osaa mitään. Kun se koodaaminen on tullut niin "helpoksi" kun on valmista kikkaretta. Sitten kun pitäisi jotain omaa luoda niin taidot loppuu siiheen ja nostetaan kädet pystyyn. Silti näitä kavereita on IT talot täynnä.
Pelimoottoreita ei onneksi koodaa mitkään tusinaveijarit.

Itse pelidevaakat ovat vähän vaihtelevampaa sakkia.
 
No, jos palkkaat halvan timpurin vähäksi aikaa tekemään kotiin remonttia, niin saat tietyn lopputuloksen.
Jos taas palkaat pari kertaa kalliimman, jolle on maksettu enemmän, koska taitavampi tai palkkaat sen halvemman pidemmäksi aikaa, niin saat varmasti paremman lopputuloksen (Tiettyyn rajaan asti).

Asiakkaana kuitenkin päätät, mihin vedät rajan. Pelaajatkin ovat vetäneet rajat, joten lopputulos on se, mitä nykyään on. Pelaajalle on halvempaa ostaa esim se kalliimpi prossu, kuin maksaa kymmenien pelien hieromisesta erittäin hankalasti. Ja vastaan voi tulla jopa seinä, jolloin ei vain päästä tiettyyn suuntaan.

Prossuvalmistajat ovat nyt valinneet NIILLE halvan "monistetaan samaa" tien. PELAAVILLE asiakkaille tämän suunnan eteneminen ei ole välttämättä hyvä asia. Nyt ostetaan mielettömän moniytimisiä prossuja hommaan, jossa lisäytimistä ei tahdota saada oikein millään hyötyä.

No höpö höpö, konsoleille kyllä jaksetaan hieroa pelejä eikä ne nyt NIIN kauhean paljon kalliimpia ole, lisäksi konsolipeleistä siivun vetää konsolin valmistaja. Kyllähän aikoinaan PS3 aikaan esim. kuului nurinaa että on niin vaikeaa tehä kyseiselle konsolille pelejä. Ja kyllhän niissä ensimmäisten ja elinajan loppuvaiheen pelien välillä oli melkoinen ero kun ne koodaajat oli oppinu kyseiselle purkille koodaamaan.
Eiköhän se PC puolella ole toi DX11 suurena kehityksen jarruna. Varmaan koko peliteollisuutta helpottaisi suunnattomasti jos olisi yksi rajapinta kaikille vehkeille kuten esim Vulkan. DX12 sellaista ei voi tulla.
 
No höpö höpö, konsoleille kyllä jaksetaan hieroa pelejä eikä ne nyt NIIN kauhean paljon kalliimpia ole, lisäksi konsolipeleistä siivun vetää konsolin valmistaja. Kyllähän aikoinaan PS3 aikaan esim. kuului nurinaa että on niin vaikeaa tehä kyseiselle konsolille pelejä. Ja kyllhän niissä ensimmäisten ja elinajan loppuvaiheen pelien välillä oli melkoinen ero kun ne koodaajat oli oppinu kyseiselle purkille koodaamaan.
Eiköhän se PC puolella ole toi DX11 suurena kehityksen jarruna. Varmaan koko peliteollisuutta helpottaisi suunnattomasti jos olisi yksi rajapinta kaikille vehkeille kuten esim Vulkan. DX12 sellaista ei voi tulla.

Otappa nyt huomioon, että konsoli pysyy samana, koko sen elinikänsä ajan tai jos on variaatioita (esim ps4 ja ps4 pro), niin erot on erittäin pieniä. PS3 ja PS2 taas olivat käsittääkseni ihan samoja pelien kannalta, alusta loppuun.

PC puolella taas tulee uutta ja erilaista paljon tiuhempaan tahtiin. Esim prossun coremäärien kanssa on mopot karanneet käsistä molemmilla valmistajilla ja per core suorituskyky ei ole ainankaan paranemassa, niinkuin ennemmin oli asianlaita.

Lisäksi säikeistyminen on ollut peleissä ongelma aina siitä, kun ensimmäiset 2 säiettä suorittavat kuluttajahintaiset prossut tulivat markkinoille. Vaikka ollaan edetty todella hitaasti, niin pelit ovat laahanneet perässä. Nyt kuvitellaan, että jostakin pieraistaisiin peleihin suuria muutoksia ihan yhtä-äkkiä, ilman mitään ylimääräisiä töitä, kun kaikkien pitäisi tajuta, että tuo homma etenee edelleen vähintään ihan yhtähitaasti ja asiasta on turha vaahdota vielä vuosikausiin.
 
En nyt ymmärrä miksi ylimääräinen optimointi ei muka kannattaisi. Jos pelisi näyttää paremmalta kuin huonommin pyörivä kilpailijan peli, se myy paremmin.
 
En nyt ymmärrä miksi ylimääräinen optimointi ei muka kannattaisi. Jos pelisi näyttää paremmalta kuin huonommin pyörivä kilpailijan peli, se myy paremmin.

Ja sen pitää myydä todella paljon paremmin, tuottaakseen takaisin optimointiin käytetty aika. Löytyyhän peleistä esimerkejä, jotka näyttää valmiiksi vanhentuneilta, kun pelikehitys on päässyt venähtämään. Joten jos ajatus on tehdä kovaa optimointia, niin se kuuluisi huomioida jo konseptivaiheessa, kun se siirtää suunniteltua pelin julkaisuajankohtaa, odottettua kilpailutilannetta ja pelin budjettia.
 
Ja sen pitää myydä todella paljon paremmin, tuottaakseen takaisin optimointiin käytetty aika. Löytyyhän peleistä esimerkejä, jotka näyttää valmiiksi vanhentuneilta, kun pelikehitys on päässyt venähtämään. Joten jos ajatus on tehdä kovaa optimointia, niin se kuuluisi huomioida jo konseptivaiheessa, kun se siirtää suunniteltua pelin julkaisuajankohtaa, odottettua kilpailutilannetta ja pelin budjettia.
Kerros esimerkkejä peleistä joita ei ole optimoitu kahdeksalle ytimelle? Kiitos konsolien lähes kaikki uudempaa kuin kivikautista Falloutin engineä käyttävät pelit on tehty alusta alkaen säikeistymään, koska konsoleilla 30fps jää muuten haaveeksi.
 
Kerros esimerkkejä peleistä joita ei ole optimoitu kahdeksalle ytimelle?

Mitä tarkoitetaan kahdeksalle ytimelle optimoinnilla? Jos haetaan sitä, että kaikki kahdeksan ydintä saadaan tarvittaessa saturoitua laskennalla, niin näitähän on vaikka kuinka. Mechwarrior Online, Pathfinder - Kingmaker, molemmat Pillars of Eternityt, Total War - Warhammer, MGS5 ja GTA5 tuli äkkisiltään mieleen. Näissä kaikissa CPU:n yksittäinen ydin rajoittaa menoa muiden lähinnä pyöritellessä peukaloita.
 
Mitä tarkoitetaan kahdeksalle ytimelle optimoinnilla? Jos haetaan sitä, että kaikki kahdeksan ydintä saadaan tarvittaessa saturoitua laskennalla, niin näitähän on vaikka kuinka. Mechwarrior Online, Pathfinder - Kingmaker, molemmat Pillars of Eternityt, Total War - Warhammer, MGS5 ja GTA5 tuli äkkisiltään mieleen. Näissä kaikissa CPU:n yksittäinen ydin rajoittaa menoa muiden lähinnä pyöritellessä peukaloita.
Tulikin kattaus moderneja pelejä joista osa kehitetty ps3:lle alunperin. Onko monessakin noista fx4000 yhtä hyvä kuin fx8000, vai säikeistyvätkö ne sittenkin?
 
Tulikin kattaus moderneja pelejä joista osa kehitetty ps3:lle alunperin. Onko monessakin noista fx4000 yhtä hyvä kuin fx8000, vai säikeistyvätkö ne sittenkin?

Jos nyt tarkkoja ollaan esim. Pathfinder: Kingmaker, Pillars of Eternity (ainakin 1), Total War: Warhammer I & II on kehitetty PC:lle eikä niistä taida olla PS3 versiota ikinä edes tehty ja tuskin tehdään. Pathfinder Kingmakerista kehittäjien tietämättä julkaisun aikoihin kolmas taho (joka myi peliä, Deepsilver) alkoi kertomaan että tästä tehdään myös konsoliversiot (varmaankin X-box ja viimeisin playstation).. ..ehkä sitten tekevät ellei jokin taho hanki erikseen siihen tyyppejä tekemään porttausta.

Pillars pelistä näköjään on tehty PS4 ja X-box versio (ei siis se eka X-box vaan luultavimmin viimeisin, X-box One. Myös OS-X ja Linux pitäisi olla tuettujen listalla, tiedä sitten)

Suurempi syy voisi olla se että ainakin Pillars ja Pathfinder (sekä Battletech) on tehty Unitylla. Missä pelin voi tehdä hyvin tai sitten ei jakseta panostaa ja käytetään "kunhan nyt toimii" taktiikkaa.
List of Unity games - Wikipedia

Eli se riippuu myös pelin kehittäjästä aika paljon miten optimoivat pelinsä mutta teoriassa nykyisin Unity tarjoaa tukea useammallekin ytimelle peleissä.

Unity (game engine) - Wikipedia

Jos kiinnostus heräsi niin tässä suomeksi hieman kattavampaa tietoa unitysta (2015) yhden projektin tiimoilta:
https://www.theseus.fi/bitstream/handle/10024/102732/Kivela_Miikka.pdf
 
Viimeksi muokattu:
Jos on useita tuhansia rahaa niin menee vaan ja ostaa sen i9-9900K:n ja RTX 2080 Ti:n.

Jos pelikoneeseen on tonni, niin sitten kannattaa nykyisin ostaa AMD. i5-9600K on yli satasen enemmän kuin R5 2600 ja kun sen rahan laittaa näytönohjaimeen, niin AMD-kone on nopeampi peleissä.

Kyllä on testejä, että i5-9600K on nopeampi peleissä, mutta ne erot on niin häviävän pieniä (paitsi jossain ihme peleissä, kuten CS:GO), että pienikin tehonlisäys jonnekin muualle nostaa AMD:n Intelin ohi. Vaikka tyyliin RX 570 -> RX 580 tai GTX 1060 3GB -> GTX 1060 6GB.
 
Kerros esimerkkejä peleistä joita ei ole optimoitu kahdeksalle ytimelle? Kiitos konsolien lähes kaikki uudempaa kuin kivikautista Falloutin engineä käyttävät pelit on tehty alusta alkaen säikeistymään, koska konsoleilla 30fps jää muuten haaveeksi.

Sitten on vielä optimoinnit numa arkkitehtuurille, corejen välisille viiveille, välimuistille, tomb raider tapaus jossa siivottiin vähän käskyjä ja ryzen nopeutui kummasti jne. Ynnä kuten ketjussa aiemmin oli DX11 vaatii käytännössä pääsäikeen. Vaikka peli säikeistyisikin, niin aina löytyy joku aihe valittaa "paskasti optimoitu", kun just oma kokoonpano ei pysy toisen vauhdissa.
 
Kerros esimerkkejä peleistä joita ei ole optimoitu kahdeksalle ytimelle? Kiitos konsolien lähes kaikki uudempaa kuin kivikautista Falloutin engineä käyttävät pelit on tehty alusta alkaen säikeistymään, koska konsoleilla 30fps jää muuten haaveeksi.

Ei kyse ole usein niin oleellisesti siitä, montaako ydintä peli jossain tilanteessa osaa käyttää, vaan siitä mitkä osat pelin koodista monisäikeistetään ja miten.

Jos koodissa on joku täysin rinnakkainen looppi, joka suoritetaan vaikka sata miljoonaa kertaa, sen loopin saa usein todella helposti optimoitua vaikka tuhansille säikeille näin yksinkertaisesti: #pragma omp parallel for.

Mutta jos tämän loopin ajoaika on alkuperäisessä koodissakin on vain 10% koko koodin ajoajasta, se tämän loopin tuhannelle ytimelle rinnakkaistaminen nopeuttaa koko ohjelman suoritusta vain n. 11.11%, kun kaikki se muu 90% siitä koodista ajetaan edelleen yhdessä säikeessä ja tämä yksi säie on pullonkaula.


Se, että saadaan jossain tilanteessä hyödynnettyä suuri määrä ytimiä ja se, että päästään eroon siitä yhden raskaan säikeen pullonkaulasta on täysin eri asioita.

Toki noilla konsolipeleillä on pitänyt nähdä enemmän vaivaa sen eteen, että siellä ei ole sitä yhtä raskasta säiettä, kun niiden ytimet on sen verran heikkoja. Toisaalta kuitenkin se, että tähdätään 30 FPSään eikä 60FPSään antaa aika paljon anteeksi ja sallii aika paljon hitaammat ytimet.

Ja toki, se, että aletaan hankiutumaan eroon siitä yhden säikeen pullonkaulasta ja hyödyntämään enemmän taskitason rinnakkaisuutta (eikä vain datatason rinnakkaisuuden hyödyntämistä säikeistyksellä) sitten tarkoittaa että niiden taskien määrä rajoittaa sitä ajossa olevien säikeiden määrää, ja suuremman säiemäärän käyttöönottaminen tällöin helposti tarkoittaa sitä, että taskeja pitää pilkkoa pienempiin osiin käsin.

Ja kuormanjako muodostuu helposti monimutkaiseksi ongelmaksi, jos säikeistys on jollain tavalla "epäsymmetristä".
 
Viimeksi muokattu:
Se on sitten eri asia että miksi noissa vuodoissa sille 16-ytimiselle on maksimiboostit selvästi pienemmät kuin 12-ytimiselle. Eivät kuitenkaan ne neljä lisäydintä vie idlatessakaan niin paljoa että selittäisi usean sadan megahertsin eroa tuohon suuntaan etenkin kun TDP-ero on iso ja tasan varmasti kattaa idlaavien ytimien extrakulutuksen. Vertaa 2600X vs 2700X, ei 2700X:kään jää jälkeen kelloissa missään tilanteessa. Tämän takia haisee fake hommassa.

Ottamatta kantaa huhujen todenmukaisuuteen kyse voisi olla joihinkin huhuihin sisältyneen myöhemmin mahdollisesti julkaistavan 16-ytimisen juhlapainoksen binnauksesta: enimmillään 12 ytimellä riittävän hyvin toimivia sekä 5 Ghz 1-2 ytimellä pystyviä yksilöitä voisi kuvitella olevan reippaasti enemmän kuin vastaavia joissa kaikki 16 ydintä käytettävissä (taisi tässä huhussa olla myös max 5.1 GHz boostit).
 
Miten tässä näin kävi? Oliko säikeistys sittenkään "mahdotonta"? Ei todellakaan ollut. Yksi osatekijä on tietenkin AMD:n konsoliprosessorit. 8 heikkotehoista ydintä tarkoittaa ettei tehoja saa ellei ota useampaa ydintä käyttöön. Ja kas, ongelma pitkälti ratkesi. Myös ihan satavarmasti säikeistys muuttuu maagisesti "helpommaksi" heti kun konsoleihin tulee 8+ säikeisiä prosessoreita.

Eli täysin turha jauhaa paskaa siitä kuinka säikeistys muka olisi jokin huippuvaikea homma. Laiskuudesta ja siihen liittyvistä on kyse. Historia sen osoittaa pitävästi ja kiistatta.
Kerros esimerkkejä peleistä joita ei ole optimoitu kahdeksalle ytimelle? Kiitos konsolien lähes kaikki uudempaa kuin kivikautista Falloutin engineä käyttävät pelit on tehty alusta alkaen säikeistymään, koska konsoleilla 30fps jää muuten haaveeksi.
Konsolien pelikoodaus on tosiaan helpompaa, koska on aina tunnettu rauta ja sen hyödyntäminen paremmin on mahdollista (päästän lähemmäs rautaa). Lisäksi konsolipelissä on mahdollista koodata vain 6 ytimelle (2 muuta ydintä on varattu muuhun käyttöön).

Konsolipelit koodataan yleensä ennen PC- versiota. PC: ssä on ytimien Hz: t vähintään puolta suuremmat kuin konsolissa. PC- peliä ei ole edes mahdollista koodata yhtä tehokkaaksi ed. mainituin syin (+lukemattomat eri laite ja ajuri kombot).

Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?
 
Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?
Mitä tämä mahtaa tarkoittaa PC:llä? Softaa ei kannata pistää yli kuuteen threadiin?
Ymmärtääkö täällä kaikki että 10:ssä threadissa pyörivää softaa voidaan myös yleensä ajaa single core CPU:ssa. Threadit vaan huristelee vuorotellen (ja tästä threadien synkkauksen helppoudesta varmaan hkultala voisi esitelmöidä lisää halukkaille). Käyttis huolehtii threadien paiskomisesta rinnakkain tai jonoon riippuen mitä rautaa on tarjolla ja missä on kaistaa.

Lisäksi konsolipelissä on mahdollista koodata vain 6 ytimelle
En tunne konsolipelien koodausta mutta, tästä rajoituksesta saattaa myös huolehtia konsolin käyttöjärjestelmä. Minun oletus: yhtään peliä ei koodata baremetallina nykyisille konsoleille. Korjatkaa jos olen väärässä.
 
En tunne konsolipelien koodausta mutta, tästä rajoituksesta saattaa myös huolehtia konsolin käyttöjärjestelmä. Minun oletus: yhtään peliä ei koodata baremetallina nykyisille konsoleille. Korjatkaa jos olen väärässä.

Onhan niitä sille tietylle konsolille ainoastaan julkaistavia pelejä ja niissä varmaan revitelllään aika huolella siitä laatikosta tehot irti. Mutta nää crossplatform pelit kärsii siitä kun jokaisella alustalla on oma GFX api mitä pitää tukea. Sory käyttää jotain omaa viritystä, mäkki käyttää omaa, linux käyttää omaa ja X-Box käyttää omaa. Toki DX on x-boxissa sekä PC:llä, samoin kuin linuxilla on Vulkan/OpenGL, ne löytyy myös PC:stä. Mutta mitään kaikille yhteistä graffa API:a ei ole, eli jos tuetaan useampaa alustaa niin täytyy hallita sitten useampi graffa API. Jos vaikka toi Vulkan yleistyisi kaikkiin, niin koodarien elämä varmaan helpottuisi huomattavasti. Mutta tämähän ei Mikrosoftille, Sonylle ja Applelle käy. Kun kaikkien mielestä se juuri heidän räpellyksensä on se paras.
 
:facepalm:
Älyät varmaan kaupallisen yrityksen toimitaperiaatteet? Hyvä. Varmaan osaat laskelmoida myös sen, että millä mentaliteetillä yritys kehittää tuotettaan, jotta yrityksen voitto saadaan maksimoitua?

Säikeistys kuten kaikki muutkin tehtävät asiat edustavat vaikeudeltaan kahta ääripäätä tai jotain siitä välistä. Vielä kerran:

1: asia on hyvin helppo, kuka tahansa osaa tehdä
2: asia on mahdoton, ei merkitystä kuka tekee koska asiaa ei voida tehdä

Suuri työmäärä ääripäässä 1 saadaan tehtyä nopeammin jos laitetaan lisää tekijöitä. Sen sijaan ääripäässä 2 ei ole mitään merkitystä sillä paljonko tekijöitä tai resursseja laitetaan, homma ei silti valmistu koska se ei voi valmistua.

Kun selität homman olevan rahasta kiinni, sanot samalla säikeistyksen olevan paljon lähempänä ääripäätä 1 kuin ääripäätä 2. Kun kyse oli siitä onko säikeistys vaikeaa ja itsekin myönnät sen olevan lähempänä ääripäätä 1 kuin ääripäätä 2, olet samaa mieltä siitä ettei säikeistys ole kovinkaan vaikeaa.

Kuten sanoin, ellet ymmärrä asiaa ei ole mitään merkitystä vaikka olisit ollut koodaamassa joka ikistä tietokonepeliä joka koskaan on tehty.


Taas kaksi ääripäätä:

Täydellisesti säikeistyvä ohjelma: ytimien määrän (ja kaikkien muun rajoittavien tekijöiden) kasvaessa n kertaiseksi ohjelman suoritus nopeutuu n kertaiseksi.

Ei ollenkaan säikeistyvä ohjelma: riippumatta ytimien määrän (ja kaikkien muun rajoittavien tekijöiden) kasvamisesta, ohjelman suoritus ei nopeudu.

Eli mikäli ohjelmassa on yksi säie joka selkeästi rajoittaa, se ei voi olla kovin lähellä täydellisesti säikestyvää ohjelmaa vaan menee paljon lähemmäksi toista ääripäätä. Itsestään selvä asia.

No, jos palkkaat halvan timpurin vähäksi aikaa tekemään kotiin remonttia, niin saat tietyn lopputuloksen.
Jos taas palkaat pari kertaa kalliimman, jolle on maksettu enemmän, koska taitavampi tai palkkaat sen halvemman pidemmäksi aikaa, niin saat varmasti paremman lopputuloksen (Tiettyyn rajaan asti).

Et välttämättä saa mikäli tämä kalliimpi timpuri sattuukin olemaan laiska.

Paremmin sanottuna näin: Onko kyse vaikeustasosta vai ajankäytöstä? Eli toisin sanoen, onko pystyykö halpa heppu tekemään yhtä hyvää jälkeä jos saa käyttää siihen enemmän aikaa kuin kalliimpi? Eli kalliimpi tekee tietyntasoista jälkeä nopeammin kuin halpa? Jos näin, silloin tekemistä nimenomaan ei rajoita vaikeus.

Asiakkaana kuitenkin päätät, mihin vedät rajan. Pelaajatkin ovat vetäneet rajat, joten lopputulos on se, mitä nykyään on. Pelaajalle on halvempaa ostaa esim se kalliimpi prossu, kuin maksaa kymmenien pelien hieromisesta erittäin hankalasti. Ja vastaan voi tulla jopa seinä, jolloin ei vain päästä tiettyyn suuntaan.

Prossuvalmistajat ovat nyt valinneet NIILLE halvan "monistetaan samaa" tien. PELAAVILLE asiakkaille tämän suunnan eteneminen ei ole välttämättä hyvä asia. Nyt ostetaan mielettömän moniytimisiä prossuja hommaan, jossa lisäytimistä ei tahdota saada oikein millään hyötyä.

Näillä asioilla ei ole mitään tekemistä säikeistyksen vaikeuden kanssa.

Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?

Tämä kysymys on juuri sellainen joka elää aikojen saatossa. Näin:

Siihen aikaan kun konsoleissa oli yhden ytimen prosessori (Megadrive, PS1 jne): "Joten miksi pelinkoodaja tähtäisi edes yli 1- ytimen laskentahyötyyn?"

Siihen aikaan kun konsoleissa oli kolmen ytimen prosessori (X-Box jne): "Joten miksi pelinkoodaja tähtäisi edes yli 3- ytimen laskentahyötyyn?"

Siihen aikaan kun konsoleissa oli kuuden ytimen prosessori (X-Box One, PS4 jne): "Joten miksi pelinkoodaja tähtäisi edes yli 6- ytimen laskentahyötyyn?"

Siihen aikaan kun konsoleissa tulee joskus olemaan n ytimen prosessori (?): "Joten miksi pelinkoodaja tähtäisi edes yli n- ytimen laskentahyötyyn?"

"Huippuhankalaa" säikeistystä pystytään paremmin tekemään kun ytimien määrä lisääntyy laitteissa. Yllättyneet:
 
Onhan niitä sille tietylle konsolille ainoastaan julkaistavia pelejä ja niissä varmaan revitelllään aika huolella siitä laatikosta tehot irti. Mutta nää crossplatform pelit kärsii siitä kun jokaisella alustalla on oma GFX api mitä pitää tukea. Sory käyttää jotain omaa viritystä, mäkki käyttää omaa, linux käyttää omaa

Linux ei käytä 3D-grafiikkaan mitään omaa. 2Dhen on sitten useampiakin eri.

ja X-Box käyttää omaa. Toki DX on x-boxissa sekä PC:llä, samoin kuin linuxilla on Vulkan/OpenGL, ne löytyy myös PC:stä. Mutta mitään kaikille yhteistä graffa API:a ei ole, eli jos tuetaan useampaa alustaa niin täytyy hallita sitten useampi graffa API. Jos vaikka toi Vulkan yleistyisi kaikkiin, niin koodarien elämä varmaan helpottuisi huomattavasti. Mutta tämähän ei Mikrosoftille, Sonylle ja Applelle käy. Kun kaikkien mielestä se juuri heidän räpellyksensä on se paras.

OpenGL toimii käytännössä kaikkialla. Se vaan on käymässä vanhaksi.

Vulkan toimii... kaikkialla muualla paitsi Applella, ja Applella ei ole mitään intressejä tukea sitä. Apple haluaa, että kaikki käyttävät heidän Metallinsa, mikä tarkoittaa lisätyötä pelien porttaamiseen Applelle.

Vulkan ja DX12 ovat kuitenkin hyvin hankalia ja työläitä rajapintoja käyttää. Molemmilla tarvitaan satoja rivejä koodia, että mitään saadaan ruudulle, siinä missä esim. OpenGL:llä riittää parikymmentä.
 
Linux ei käytä 3D-grafiikkaan mitään omaa. 2Dhen on sitten useampiakin eri.

No ei sillä kyllä Sonyn, mikrosoftin taikka applen apia ajella. Se oli pointti tuolla "omaansa"

OpenGL toimii käytännössä kaikkialla. Se vaan on käymässä vanhaksi.

Jonka takia sitä ei juurikaan kukaan käytä, eli aika lailla laskuista poissa.

Vulkan toimii... kaikkialla muualla paitsi Applella, ja Applella ei ole mitään intressejä tukea sitä. Apple haluaa, että kaikki käyttävät heidän Metallinsa, mikä tarkoittaa lisätyötä pelien porttaamiseen Applelle.

Se että jossain rootatussa konsolissa joku ajaa linuksia ja Vulkania ei tarkoita että Sony Vulkania tukisi. Vai olenko missannut jonkun uutisen jossa kerrotaan että Sony on alkanut tukemaan Vulkania?

Vulkan (kuten myös DX12) ovat kuitenkin hyvin hankalia ja työläitä rajapintoja käyttää.

Eikös lähes kaikki ole aluksi hankalaa? Kumpikohan on hankalampaa, tukea 4 eri apia, vai yhtä joka toimisi kaikilla?
 

Statistiikka

Viestiketjuista
295 812
Viestejä
5 052 383
Jäsenet
80 985
Uusin jäsen
davids

Hinta.fi

Back
Ylös Bottom