![](https://www.io-tech.fi/wp-content/uploads/2021/02/microsoft-game-stack-live-20210225.jpg)
PCIe-väyläisten SSD-asemien nopeudet jättäneet SATA-väyläiset serkkunsa jo kauas taakseen. Käytännössä suorituskykyero ei kuitenkaan juurikaan realisoidu ainakaan pelaajan näkökulmast. Uusien konsolien siirtyminen PCIe-väyläisiin SSD-asemiin tuo kuitenkin toivoa paremmasta.
Konsoleiden siirtyminen PCIe-aikaan ja sen tuomiin hyötyihin on saanut rattaat pyörimään myös PC-puolella. Microsoft ilmoitti viime vuonna tuovansa Windowsiin DirectStorage-rajapinnan, joka toimii myös Xboxin Velocity Architecturen ytimenä. DirectStorage-rajapinnan pitäisi mahdollistaa PCIe-väyläisten SSD-asemien koko nopeuden hyödyntämisen selvästi nykyistä mallia paremmin.
Nyt Microsoft on ilmoittanut tulevansa esittelemään DirectStorage-rajapinnan Windowsille 20.-21. huhtikuuta pidettävässä Game Stack Live -tapahtumassa. Virtuaalisesti netissä toteutettavassa tapahtumassa tullaan esittelemään lisäksi esimerkiksi uusi HLSL:n Shader Model 6.6 -taso, käytännön toteutuksia DirectX Ultimaten mahdollistamista uusista tempuista sekä Microsoftin uusia projekteja äänentoiston puolella.
Lähde: Microsoft
Tätä olen odottanut ja ihmetellyt miksei ole vielä PC:llä. Uudelle Xboksille varmasti oli helpompi tuoda ensin, kun on yksi ja sama rauta.
Tätä minäkin olen odottanut.
Pitääkö ohjelmat kääntää uudelleen, että ne pystyvät hyödyntämään DS ominaisuutta, vai toimiiko ominaisuus suoraan, kun käyttöjärjestelmä tukee sitä? Ts: hyötyvätkö vanhat ohjelmat ominaisuudesta?
Pitää lisätä tuki uudelle rajapinnalle. Eli pelkkä uudelleenkääntäminen ei riitä. Eli vanhoihin peleihin tämä ei tule ilman kehittäjien työtä.
Oli tarkoitus päivittää kone pelikäyttöäkin ajatellen SSD-aikakauteen, mutta se oli tarkoitus tehdä näytönohjaimen päivittämisen jälkeen – tai viimeistään yhteydessä. Tällä vauhdilla tilanne vain on se, että näytönohjainta ei saa vielä pitkään aikaan, joten turha kai tätä on parittaa GTX 970:n kanssa… Vähän siis haiskahtaa sille, että tämäkin lykkääntyy osaltani näytönohjainten heikon saatavuuden vuoksi.
Odottavan aika on pitkä. Mä menen edelleen 4core haswellilla+3070fe:lla. Odottelen zen4+next gen io:ta. Saa rakennettua koneen mikä menee todella pitkään. Poislukien ajoittaiset gpu päivitykset ja levytilan lisäykset. Pääsee kerralla pcie gen 5 aikaan. Todennäköisesti io puoli on mietitty directstoragen kannalta optimaaliseksi. Tosin ei hyötyä ihan liian aikaisin muutenkaan päivittää, kun pelit laahaa perässä. Kauan sai odotella säteenseurantapelejäkin. Mesh shadersitkin ainoastaan benchmarkeissa. Supernopeat ssd:tkin kerkevät halveta ja mennä tämä viruksen aiheuttama kysyntäboomi ohi.
Onko gen5 jotenkin erityinen, mikä saa gen 4 skippaamaan?
En usko että seuraava näytönohjain sukupolvi tulee hyötyämään pcie gen5.
Skippaan ihan vain sen takia, kun wanhalla koneella pärjää vielä jotenkuten. Mieluummin päivittelen koko konetta harvemmin ja satsaan kerralla enemmän. Zen4:ssa vaihtuu emolevy, muistit(ddr5) ja amd:n lupaama next gen io. Nyt on myös huono aika päivittää konetta, kun osista on uupeloa ja hinnat katossa.
DirectStorage on vielä tuntematon arpa sen suhteen voisiko se toimia paremmin uuden raudan kanssa vai ei. Esim. konsoleissa on io-piirillä rautapurku. PC:lla kysymysmerkki tuleeko purku rautaan tulevaisuudessa vai hoidetaanko purku esim. gpu:lla compute shadereissa. gpu purku on ihan hyvä, mutta toisaalta se ei auta sen datan kanssa mitä cpu haluaisi käyttää tai dataa pitää siirrellä ees+taas.
Ei kyllä riitä pelkästään jokin rajapintatukikaan.
Jos todella halutaan hyöty irti benchmark-lukemista, pelien assettien tallennusmuotoa pitää muuttaa kevyemmin pakatuksi (ihan kuin pelit eivät turpoaisi jo muutenkin) prosessointiviiveiden minimoimiseksi.
Samoin ultranopeiden käynnistysaikojen saamiseksi pelikoodinkin tallennusmuoto pitäisi vaihtaa normaalimmasta binääri-muodosta suoraan muistiin streamattavan hibernation filen suuntaan.
Mä uskoisin, että mennään pikemminkin tiukempaan pakkaukseen. DirectStoragen osana raskaamman pakkauksen purku lennosta. Alussa purku compute shadereilla ja myöhemmin ehkä konsolityyliin io-ohjaimessa. Samaa kamaa kuin mitä uuden sukupolven konsolit käyttävät. PS5:ssa esim. se 1:2 pakkaus io-piirillä. 5.5GB/s ssd nopeus tekstuurien kanssa 11GB/s.
data-unfurl="true" data-result-id="76298" data-url="https://www.nvidia.com/en-us/geforce/news/rtx-io-gpu-accelerated-storage-technology/" data-host="www.nvidia.com" data-pending="false">
class="link link--external fauxBlockLink-blockLink"
target="_blank"
rel="nofollow noopener"
data-proxy-href="">
NVIDIA RTX IO: GPU Accelerated Storage Technology
http://www.nvidia.com
Tiukempi pakkaushan itse asiassa vähentää massamuistin lukunopeuden kriittisyyttä.
Eikä erillistä PCIe-väylän päässä olevaa GPU:ta kyllä voida käyttää CPU:lle kriittisen datan käsittelyyn lennosta.
Prossuun paketoidun purkuyksikön osalta taas vaadittaisiin jonkinlaisen standardin aikaan saaminen.
Yleinen assettien streamaus aina lennosta tarpeen vaatiessa taas on korvike riittämättömälle RAMille…
Jota se ei Flash-muistin magnitudia suuremman latenssin takia koskaan vastaa täysin:
Compute Performance – Distance of Data as a Measure of Latency | Formulus Black | In-Memory Storage
Eikä latausajankaan aina tarvitse olla mikään silmänräpäys kourallisen sekuntejakin ollessa oikein hyvä.
Kunnolla tehty pelihän voisi ladata seuraavan pelikentän/kartan/tason assettejakin taustalla RAMiin odottamaan edellisen kentän lopun lähestyessä.
Se antaisi pienemmän latenssin kuin streamaustekniikat.
Mä uskon, että unreal5:en viitoittama tie on tulevaisuutta. Se lataa kaiken tarpeen mukaan levyltä sallien rajatoman kokoiset assetit. Tuossa tiukka pakkaus on tärkeä, kun muuten ei pelit mahdu millekään järkevälle levylle. Ongelmaksi tulee levytilan määrä unreal5:ssa. Assetit joudutaan rajoittamaan massamuistille mahtuvaksi.
Ja tuskin uusiinkaan ihan heti. Aika monta vuotta menee että on niin monessa koneessa että sen kehittämiseen kannattaa pistää paukkuja. Ellei sitä saada ikään kuin kaupan päälle Boksi-versiosta, tällöin yleistyy aika nopeastikin.
Kai monet pelit käyttävät erilaisia striimausratkaisuja nyt jo. Sen näkee siinäkin, kun osa peleistä varaa koko gpu:n muistin, mutta eivät oikeasti käytä sitä. Keskusmuistin käyttö cachena on hyvä idea, mutta ainakin steam surveyn pohjalta hyvin harvalla on edes sitä 16GB muistia käytössä Keskusmuistin käyttäminen ei auttaisi kuin pientä osaa pelaajista.
DirectStoragen+pakkauksen+nopean ssd:n avulla päästään siihen, että muistissa on data mitä tarvitaan seuraavan sekunnin tai kahden aikana. Eli tarvitaan joko vähemmän muistia tai voidaan käyttää tarkempia tekstuureita ja malleja. Nykypeleissä cachetetaan tavaraa mitä saatetaan tarvia seuraavan 30s tai jopa pidemmän ajan aikana. Tuo sen takia, että peli toimisi niilläkin joilla on mekaaninen kiintolevy.
Iso etu directstoragessa se, että ne yksittäisten pienienkin palasten lataamiset tapahtuvat hyvin pienellä resurssien käytöllä. Striimaaminen on helpompaa/tehokkaampaa toteuttaa. Tuo unreal5 on todella mainio esimerkki siitä mitä saavutetaan, kun käytetään ssd:ta+directstoragea ja ei pidetä engineä mekaanisen kiintolevyn vankina. Toki unreal5:ssa on paljon muutakin hienoa kuten se, että voidaan käyttää erittäin laadukkaita geometrioita ja rasteroidaan pikselinkokoisia kolmioita. Ts. assettien laatu on näytön resoluutioon sidottu. Levyllä on maksimaalisen hyvät assetit ja lod tehdään lennosta.
DirectStorage pitäisi olla APIna täysin taaksepäin yhteensopiva raudan suhteen eli mitään syytä olla tekemättä (uusia) pelejä sen päälle ei pitäisi olla. Se vaan ei sitten erityisesti nopeuta toimintaa muilla kuin NVMe asemilla, mutta ei pitäisi olla sen hitaampi muilla kuin nykyisetkään ratkaisut.
Kommentoi uutista tai artikkelia foorumilla (Kommentointi sivuston puolella toistakseksi pois käytöstä)
Lähetä palautetta / raportoi kirjoitusvirheestä