- Liittynyt
- 22.10.2016
- Viestejä
- 12 453
Kyse oli synkronoiduista säikeistä, jotka siis synkronoituvat pääsäikeen kanssa.
Mitähän nyt tarkkanottaen tarkoitat näillä "synkronoiduilla säikeillä"?
Säikeet välillä tekevät synkronointia toistensa kanssa. Ei ole erikseen "ei-synkronoituja" ja "synkronoituja" säikeitä.
Pelit voivat luoda toki paljon enemmän aktiivisia säikeitä, kuin mitä CPU:ssa on. Context switchingistä tulee kuitenkin ennen pitkää haittaa, jos aktiivisia säikeitä on liikaa. Tämä ei ole omaa kuvitelmaa, vaan luin tästä Unreal Enginen dokumentaatiosta.
SMTn hyöty (moderneilla prosessoreilla, ignorataan P4 jossa oli aivan liian pieni L1D-kakku) on tyypillisesti monenkertainen context switcheistä tulevaan haittaan verrattuna, mikäli kuorma on jakautunut tasaisesti.
Ja pelille on aivan triviaalia kysyä käyttikseltä, montako säiettä rauta pystyy ajamaan yhtä aikaa, ja käynnistämään (maksimissaan) sama määrä säikeitä.
Toki optimaalisen säikemäärän luomista haittaa se, että käyttiksessä voi olla ajossa muuta softaa yhtä aikaa, mutta tyypillisesti joidenkin taustaprosessien CPU-kuorma on aika olematon.
Viimeksi muokattu: