Microsoft esitteli DirectStorage 1.1:n GPU-purulla

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448


Kaotik kirjoitti uutisen/artikkelin:
Microsoft julkaisi vihdoin tänä vuonna DirectStorage-rajapinnan Windowsille. DirectStorage on samaa sukua Xbox Series -konsoleiden Velocity-arkkitehtuurin kanssa ja pyrkii optimoimaan tiedonsiirtoa peleille paremmin sopivaan muotoon Windowsin normaalin levynhallintajärjestelmän ohi.

Vaikka DirectStorage on ollut jo hyvän aikaa saatavilla vapaasti DirectX Agility SDK:n eli ohjelmistokehityskitin mukana, ei markkinoilta löydy vielä yhtään sitä tukevaa peliä. Toisaalta kuten hiljattain on selvinnyt, vaatii DirectStorage optimointeja myös SSD-ohjainpiirienvalmistajilta ja vasta hiljattain on markkinoille ehditty esittelemään ensimmäisiä pelikäyttöön optimoidun firmwaren sisältäviä SSD-asemia.

Microsoft ei kuitenkaan lepää laakereillaan, vaan on nyt esitellyt DirectStorage 1.1:n. Uusi versio tuo mukanaan kenties kaivatuimman ominaisuuden, mikä 1.0:sta uupui, eli GPU-purun tiedostoille. Toisin kuin esimerkiksi Xbox Series -konsoleiden APU-piireissä, PC-puolelta ei löydy tiettyjen pakkausformaattien rautakiihdyttimiä mistään, saati sitten suoraan grafiikkapiirin viereltä.

PC-näytönohjaimissa taas on puhtia enemmän kuin tarpeeksi myös purkutehtäviin ja DS 1.1:n myötä data voidaan siirtää pakattuna aina perille asti, kun DS 1.0:lla se puretaan jo prosessorilla, jolloin matkaan tulee ylimääräinen mutka ja muistin ja näytönohjaimen välinen dataliikenne kasvaa merkittävästi. Microsoftin esimerkkikuvassa tuntematon näytönohjain latasi ja purki 5,65 Gt:n edestä demon dataa 0,8 sekunnissa, kun prosessorilla aikaa vierähti 2,36 sekuntia.

DirectStorage 1.1 tuo mukanaan myös uuden pakkausformaatin, GDeflaten. GDeflate on NVIDIAn kehittämä LZ77:aan osin perustuva häviötön pakkaustekniikka, joka on saatavilla avoimena ja luovutettu virallisesti myös Microsoftin DirectX-käyttöön. Microsoft on tehnyt yhteistyötä AMD:n, Intelin ja NVIDIAn kanssa GDeflate-ajureiden parissa ja kaikkien yhtiöiden edustajat peesaavatkin DirectStorage 1.1 -tiedotteessa teknologian hyötyjä yhteen ääneen.

Pelaajan kannalta DirectStorage 1.1 ei tule vaikuttamaan vaatimuksiin mitenkään. Käyttöjärjestelmän pitää olla Windows 10 tai 11 ja vain jälkimmäisessä rajapinta pääsee täysiin oikeuksiinsa. DS toimii millä tahansa tallennusmedialla, mutta NVMe-SSD on käytännössä vaatimus merkittävien hyötyjen saavuttamiseksi. Näytönohjaimeksi riittää puolestaan mikä tahansa DirectX 12 -rajapintaa ja Shader Model 6.0:aa tukeva yksilö. DirectStorage 1.1 julkaistaan vielä tämän vuoden aikana.

Lähde: Microsoft

Linkki alkuperäiseen juttuun
 
Viimeksi muokattu:

TheMeII

Übertaktungspotenzial
Liittynyt
13.11.2016
Viestejä
6 984
Microsoftin esimerkkikuvassa tuntematon näytönohjain latasi ja purki 5,65 Gt:n edestä demon dataa 0,8 sekunnissa, kun
Taas prosessorilla purettuna aikaa meni yli kaksi sekuntia.
Tuo, tai vastaava taisi pudota kyydistä.

Lisäksi mikä sukupolvi noin suurinpiirtein on DX12 SM6?
 
Liittynyt
20.08.2021
Viestejä
7
Jääköhän lause kesken? Varmaan viittaus tuohon 2,36 sekuntiin.
"
Microsoftin esimerkkikuvassa tuntematon näytönohjain latasi ja purki 5,65 Gt:n edestä demon dataa 0,8 sekunnissa, kun ...
"
 
Liittynyt
22.12.2019
Viestejä
584
Kun raudan tehojen kasvattaminen ei ole energiankulutuksen ja lämmöntuotannon kannalta enää fiksua, tulee näitä koodipuolen optimointeja sitten vastaan. Ihan piristävää laatikon ulkopuolelta ajattelua :)
 
Liittynyt
19.10.2016
Viestejä
5 083
Olisi kiva jos olisi ollut selkeät graafit Microsoftin toimesta esillä että miten kauan meni missäkin vaiheessa aikaa. Nimittäin 5,8GB siirto 7000MB/s teoreettisella ihanne keissillä kestää yli 0,8s eli menikö purkuoperaatiossa nyt negatiivinen aika vai miten?

Vai oliko datablobbi massamuistilla oikeasti esim 500MB ja sen siirto meni salamannopeasti ja purku muistiin niin se on 5,8GB?
 

prc

Liittynyt
18.10.2016
Viestejä
873
Olisi kiva jos olisi ollut selkeät graafit Microsoftin toimesta esillä että miten kauan meni missäkin vaiheessa aikaa. Nimittäin 5,8GB siirto 7000MB/s teoreettisella ihanne keissillä kestää yli 0,8s eli menikö purkuoperaatiossa nyt negatiivinen aika vai miten?

Vai oliko datablobbi massamuistilla oikeasti esim 500MB ja sen siirto meni salamannopeasti ja purku muistiin niin se on 5,8GB?
No luonnollisesti se ladattava data blobbi on levyllä pienempi kuin muistiin puretut tekstuurit ja muodostetut modelit. Tosin suhde nyt ei tuo 1:10 kuvadatalle ole, mutta se nyt on tässä toissijaista.
 
Liittynyt
09.11.2016
Viestejä
1 330
Tuo GDeflaten Apache 2.0 -lisensointi on kyllä erinomainen juttu. Tuon myötä sen tuen saa lisättyä kaikkiin pelimoottoreihin ja muihin työkaluihin. Ja mahdollistaa tarvittaessa emuloinnin suorittimella.
PC-puolelta ei löydy tiettyjen pakkausformaattien rautakiihdyttimiä mistään
Tuohonkin saattaa tulla pian muutos, kun tuossa Sapphire Rapids Xeonien demossa oli esitelty suorittimen sisäänrakennettua QATzip-yhteensopivuutta (enää ei siis tarvitse erillistä lisäkorttia tätä varten). Tosin menee varmaan useampi vuosi, että tuo ominaisuus valuu kuluttajasuorittimiin, jos se sieltä edes tulee kuluttajille
 

Taneli-

☤ Virallinen ⚔ testaaja ☣
Liittynyt
17.10.2016
Viestejä
7 590
DS toimii millä tahansa tallennusmedialla, mutta NVMe-SSD on käytännössä vaatimus merkittävien hyötyjen saavuttamiseksi.
Se on sinänsä hyvä että hitaallakin lerppu ja korppuasaemalla varustetulla tallennusmedialla Windows 10/11 kone voi tuota testata ja nähdä miten se toimii. Itse hankin kyllä jo Samsungin 980 NVMe-SSD:n testailua varten kunhan tuo joskus ilmestynee...
Odotan kyllä mielenkiinnolla testejä miten paljon eroja tulee lerppu, korppu, USB-tikku, ZIP-asema, nauha-asema, RW-CD jne jne verrattuna perinteisiin kiintolevyihin, sitten SSD levyihin ja lopulta NVMe-SSD:n.
 

Cirrus

Miksei maailma toimi asmilla?
Liittynyt
16.10.2016
Viestejä
2 982


Kaotik kirjoitti uutisen/artikkelin:
Microsoft julkaisi vihdoin tänä vuonna DirectStorage-rajapinnan Windowsille. DirectStorage on samaa sukua Xbox Series -konsoleiden Velocity-arkkitehtuurin kanssa ja pyrkii optimoimaan tiedonsiirtoa peleille paremmin sopivaan muotoon Windowsin normaalin levynhallintajärjestelmän ohi.

Vaikka DirectStorage on ollut jo hyvän aikaa saatavilla vapaasti DirectX Agility SDK:n eli ohjelmistokehityskitin mukana, ei markkinoilta löydy vielä yhtään sitä tukevaa peliä. Toisaalta kuten hiljattain on selvinnyt, vaatii DirectStorage optimointeja myös SSD-ohjainpiirienvalmistajilta ja vasta hiljattain on markkinoille ehditty esittelemään ensimmäisiä pelikäyttöön optimoidun firmwaren sisältäviä SSD-asemia.

Microsoft ei kuitenkaan lepää laakereillaan, vaan on nyt esitellyt DirectStorage 1.1:n. Uusi versio tuo mukanaan kenties kaivatuimman ominaisuuden, mikä 1.0:sta uupui, eli GPU-purun tiedostoille. Toisin kuin esimerkiksi Xbox Series -konsoleiden APU-piireissä, PC-puolelta ei löydy tiettyjen pakkausformaattien rautakiihdyttimiä mistään, saati sitten suoraan grafiikkapiirin viereltä.

PC-näytönohjaimissa taas on puhtia enemmän kuin tarpeeksi myös purkutehtäviin ja DS 1.1:n myötä data voidaan siirtää pakattuna aina perille asti, kun DS 1.0:lla se puretaan jo prosessorilla, jolloin matkaan tulee ylimääräinen mutka ja muistin ja näytönohjaimen välinen dataliikenne kasvaa merkittävästi. Microsoftin esimerkkikuvassa tuntematon näytönohjain latasi ja purki 5,65 Gt:n edestä demon dataa 0,8 sekunnissa, kun prosessorilla aikaa vierähti 2,36 sekuntia.

DirectStorage 1.1 tuo mukanaan myös uuden pakkausformaatin, GDeflaten. GDeflate on NVIDIAn kehittämä LZ77:aan osin perustuva häviötön pakkaustekniikka, joka on saatavilla avoimena ja luovutettu virallisesti myös Microsoftin DirectX-käyttöön. Microsoft on tehnyt yhteistyötä AMD:n, Intelin ja NVIDIAn kanssa GDeflate-ajureiden parissa ja kaikkien yhtiöiden edustajat peesaavatkin DirectStorage 1.1 -tiedotteessa teknologian hyötyjä yhteen ääneen.

Pelaajan kannalta DirectStorage 1.1 ei tule vaikuttamaan vaatimuksiin mitenkään. Käyttöjärjestelmän pitää olla Windows 10 tai 11 ja vain jälkimmäisessä rajapinta pääsee täysiin oikeuksiinsa. DS toimii millä tahansa tallennusmedialla, mutta NVMe-SSD on käytännössä vaatimus merkittävien hyötyjen saavuttamiseksi. Näytönohjaimeksi riittää puolestaan mikä tahansa DirectX 12 -rajapintaa ja Shader Model 6.0:aa tukeva yksilö. DirectStorage 1.1 julkaistaan vielä tämän vuoden aikana.

Lähde: Microsoft

Linkki alkuperäiseen juttuun
Tuo windows 11 ”toimii paremmin” väite taisi pyöriä jo 1.0 aikaan. Onko se tekninen detaili selvillä miksi?

Kerran pari olen etsiskellyt, mutta ei ole tärpännyt. Jos kukaan ei tiedä mikä se on, niin ehkä se olisi syytä jättää pois pelkkänä Microsoftin Windows 11 promona.
 

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448
Tuo windows 11 ”toimii paremmin” väite taisi pyöriä jo 1.0 aikaan. Onko se tekninen detaili selvillä miksi?

Kerran pari olen etsiskellyt, mutta ei ole tärpännyt. Jos kukaan ei tiedä mikä se on, niin ehkä se olisi syytä jättää pois pelkkänä Microsoftin Windows 11 promona.
Windows 11:ssä on uusittu koko storage stackia mm. juuri DirectStoragea silmällä pitäen (toki tällainenkin varmasti olisi voitu tuoda Win10 mutta ei tuotu)
Windows 10:
1665764626498.png


Windows 11:
1665764636607.png


Lähde: Microsoft Reveals Another Piece of Windows 11's Improved Storage Stack - BypassIO
 
Liittynyt
11.02.2019
Viestejä
1 778
Odotan kyllä mielenkiinnolla testejä miten paljon eroja tulee lerppu, korppu, USB-tikku, ZIP-asema, nauha-asema, RW-CD jne jne verrattuna perinteisiin kiintolevyihin, sitten SSD levyihin ja lopulta NVMe-SSD:n.
Kuten tuosta yltä näkee niin erot jaotellaan "NVMe" ja "ne muut", ellet sitten tarkoittanut ylipäätään DS:ää jota voisi testata jo nyt.

Mitään järkeä minkään muun kuin HDD, SATA-SSD ja NVMe-SSD testaamisessa ei luonnollisesti ole (no ehkä joku ulkoinen asema USB:n läpi vielä) mutta mahtuuhan maailmaan testausta jos joku katsoo asiakseen.
 

prc

Liittynyt
18.10.2016
Viestejä
873
Windows 11:ssä on uusittu koko storage stackia mm. juuri DirectStoragea silmällä pitäen (toki tällainenkin varmasti olisi voitu tuoda Win10 mutta ei tuotu)
Windows 10:


Windows 11:


Lähde: Microsoft Reveals Another Piece of Windows 11's Improved Storage Stack - BypassIO
Varmaan ihan yksi syy on, että Win10 ja 11 ovat jo aika erilaisia ja muunneltua kerneliä ei ole haluttu lähteä tuomaan Win10. Ihan mahdoton testata kattavasti, joten ongelmia tulisi ihan varmasti. Rautaa jolla Win10 saa pyörimään on niin pirusti erilaista.

Vielä kun olisivat tuoneet AES purun sinne GPUlle, ettei olisi tarvinnut jättää bitlockeria tuosta välistä pois. Ei tule itsellä käyttöön, en halua koneelleni salaamatonta levypintaa.
 

Cirrus

Miksei maailma toimi asmilla?
Liittynyt
16.10.2016
Viestejä
2 982
Varmaan ihan yksi syy on, että Win10 ja 11 ovat jo aika erilaisia ja muunneltua kerneliä ei ole haluttu lähteä tuomaan Win10. Ihan mahdoton testata kattavasti, joten ongelmia tulisi ihan varmasti. Rautaa jolla Win10 saa pyörimään on niin pirusti erilaista.

Vielä kun olisivat tuoneet AES purun sinne GPUlle, ettei olisi tarvinnut jättää bitlockeria tuosta välistä pois. Ei tule itsellä käyttöön, en halua koneelleni salaamatonta levypintaa.
Osa levyistähän hoitaa aes-purun suoraan itse. Bitlockerin saa käyttämään sitä. Uskoisin olevan GPU:ta nopeampi vaihtoehto jos niissä on siihen dedikoitu hw....En ole kyllä törmännyt testeihin kun kerran tätä etsiskelin.
 

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448
Varmaan ihan yksi syy on, että Win10 ja 11 ovat jo aika erilaisia ja muunneltua kerneliä ei ole haluttu lähteä tuomaan Win10. Ihan mahdoton testata kattavasti, joten ongelmia tulisi ihan varmasti. Rautaa jolla Win10 saa pyörimään on niin pirusti erilaista.
Win10 ja 11 käyttää ihan samaa WinNT 10.0 ydintä ja Win11 insiderversioissa puhutaan edelleen Win10stä joka puolella. Noiden käyttisten erot on kaikin tavoin keinotekoisia, mutta niillä saatiin "pakotettua" tietoturvaa taas eteenpäin. Positiivisena puolena Win10 antaa mahdollisuuden ettei ole kaikkia uudistuksia pakko ottaa (koska osa niistä poistaa joitain ominaisuuksia) tässä vaiheessa.
 

Taneli-

☤ Virallinen ⚔ testaaja ☣
Liittynyt
17.10.2016
Viestejä
7 590
Vielä kun olisivat tuoneet AES purun sinne GPUlle, ettei olisi tarvinnut jättää bitlockeria tuosta välistä pois. Ei tule itsellä käyttöön, en halua koneelleni salaamatonta levypintaa.
Eiväthän ne voi laitttaa tuota koska uutisen mukaan "DS toimii millä tahansa tallennusmedialla" eli hitainkin lerppuasema vaikka USB 1.0 lävitse ulkoisena ja kyllä toimii. Miten tuolla sitten saataisiin se salaus toimimaan ja miten paljon lisää se hidastaisi prosessia?
 

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448
Eiväthän ne voi laitttaa tuota koska uutisen mukaan "DS toimii millä tahansa tallennusmedialla" eli hitainkin lerppuasema vaikka USB 1.0 lävitse ulkoisena ja kyllä toimii. Miten tuolla sitten saataisiin se salaus toimimaan ja miten paljon lisää se hidastaisi prosessia?
Lopeta tuollainen lillukanvarsiin tarttuminen uutisen sanamuotojen vuoksi.
 

prc

Liittynyt
18.10.2016
Viestejä
873
Osa levyistähän hoitaa aes-purun suoraan itse. Bitlockerin saa käyttämään sitä. Uskoisin olevan GPU:ta nopeampi vaihtoehto jos niissä on siihen dedikoitu hw....En ole kyllä törmännyt testeihin kun kerran tätä etsiskelin.
Niin paitsi kun tuo IO stackki ohittaa koko bitlockerin, niin et voi silti sitä käyttää vaikka AES offloadattaisiin sen SSD:n raudalle. Itse tosin en SSD:n rautaa käytä, kun osassa SSD:tä se avainten käsittley on aivan rikki, sama kuin ei olisi salausta. Enkä jaksa joka asemasta tutkia, kumpaa pitäisi käyttää. Helpompi vaan suoraan pakottaa CPU:lle kun ei se nyky prossuilla tunnu missään. Tämäkin pilipali Ryzen 5 4500U jaksaa cryptata 7,9GiB/s ja decryptata 9,0GiB/s AES-IN tuen ansiosta. (Muistista suoraan, ei ole tarpeeksi nopeaa SSD:tä tai väylää, että sen kautta edes kannattaisi benchmarkia ajaa).

Ja GPU:lla kyllä riittää vääntö AES:n auki laskentaa, josko sitä ei ehkä kannata purku rautana käyttää normaalin tiedostojärjestelmän käyttötapauksessa, koska salattua ja purettua dataa pitää sitten siirrellä CPU->GPU->CPU.

Vaan tämä tapaus on vähän eri, data kulutetaan lokaalisti GPU:lla, joten se saöais voitaisiin myös avata siellä sinne latauksen yhteydessä (ihan samalla tavalla kun Gdeflate purkaa pakatun datan GPU:lla). Ehkä sitten jossain tulevaisuuden versiossa.

AES cryptausta/decpryptausta GPU:lla käsitteleviä tutkimuksia on useita.

https://eprint.iacr.org/2021/646.pdf
 
Liittynyt
19.10.2016
Viestejä
5 083
Videon muodossa testiä Direct Storage 1.1. Benchmarkattu GPU ja CPU purulla Gen3 SSD:tä. Dataa ladataan 6,6GB.

- GPU Purulla 0.8s lataus.
- CPU purulla 1,1s lataus.

 

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448
Liittynyt
27.12.2016
Viestejä
1 837
Oliko jossain vertailua mikä ero on pakattu data + siirto + purku vs. pakkaamaton data + siirto?
 
Liittynyt
21.02.2017
Viestejä
5 006
Mites se striimaus, jota hypetettiin nykyisen konsolisukupolven launchissa? Piti poistaa jotain pullonkauloja open world peleiltä jne. Kuulosti mielestäni kiinnostavammalta kuin latausaikojen leikkaus. Onko tästä Direct Storage 1.1:stä samaan hommaan vai oliko juttu alunperinkin lähinnä markkinointipaisuttelua?

edit: Microsoftin artikkelissahan tästä mainittiinkin:

It is designed to provide significant bandwidth amplification when loading from the fastest NVMe devices, supporting both bulk-loading and fine-grained streaming scenarios.
Toisessa kohtaa mainitaan myös juurikin "improved open world streaming".
 
Viimeksi muokattu:

Kaotik

Banhammer
Ylläpidon jäsen
Liittynyt
14.10.2016
Viestejä
21 448
Mites se striimaus, jota hypetettiin nykyisen konsolisukupolven launchissa? Piti poistaa jotain pullonkauloja open world peleiltä jne. Kuulosti mielestäni kiinnostavammalta kuin latausaikojen leikkaus. Onko tästä Direct Storage 1.1:stä samaan hommaan vai oliko juttu alunperinkin lähinnä markkinointipaisuttelua?
Ihan samasta asiasta kyse tässä, 1.0 oli askel Xboxin Velocity -arkkitehtuuriin ja tässä tuli GPU-kiihdytetty purku sille datalle
 
Liittynyt
19.10.2016
Viestejä
5 083
Oliko jossain vertailua mikä ero on pakattu data + siirto + purku vs. pakkaamaton data + siirto?
Tarviiko siihen erikseen mitään vertailua? Koko prosessin (data, siirto, purku) efektiivinen siirtonopeus massamuistilta GPU muistiin 6-7 GB/s vaikka itse levy pystyy optimitilanteessa siirtämään 3GB/s. Kyseessä oli siis Gen3 nvme. Pelkkään siirtoon olisi mennyt pakkaamattomalla datalla yli 2s. GPU purulla meni siis 0,8s ja CPU purulla 1,1s.
 
Liittynyt
27.12.2016
Viestejä
1 837
Oikeastaan hain enemmän sitä mille datamäärälle pakkaus on järkevää vai onko olemassa mitään sweet spottia? Jos pakataan tuhat 32kB tekstuurit vs. yksi 32MB jne... Direct storagen suurin etu on varmaankin kun data vain puretaan mutta sitä ei tarvitse päivittää.
 
Liittynyt
19.10.2016
Viestejä
5 083
Oikeastaan hain enemmän sitä mille datamäärälle pakkaus on järkevää vai onko olemassa mitään sweet spottia? Jos pakataan tuhat 32kB tekstuurit vs. yksi 32MB jne... Direct storagen suurin etu on varmaankin kun data vain puretaan mutta sitä ei tarvitse päivittää.
Siis peleissä kaikki data mielellään pakattuna ja kun dataa haetaan niin mitä isompi pommi yhdellä kutsulla haetaan niin sen parempi. Esim yhden levelin data kokonaisuudessaan yhdellä kutsulla muistiin. Paradigmoja ja best-practices koko file I/O:lle pelin sisällä tietenkin on lukemattomia ja niitä ne pelinkehittäjät jyrsii siellä devatessa mikä on paras mihinkin tilanteeseen.
 

prc

Liittynyt
18.10.2016
Viestejä
873
Oikeastaan hain enemmän sitä mille datamäärälle pakkaus on järkevää vai onko olemassa mitään sweet spottia? Jos pakataan tuhat 32kB tekstuurit vs. yksi 32MB jne... Direct storagen suurin etu on varmaankin kun data vain puretaan mutta sitä ei tarvitse päivittää.
IO:n kannalta on parempi hakea yksi iso palikka vs 10000 kpl pieniä palikoita. Jokaiseen hakuun tulee latauksen lisäksi viivettä pyynnöstä ja datan "löytämisestä" tallennusmedialta. Toki liian isot haut kerrallaan eivät nekään ole optimaalisia.

Pakkausalgoritmeja voidaan yleensä parametrisoimalla säätää siten, että ne käsittelevät streamina tietynmittaisen pätkän dataa jonka yritetään pakata, joten siinä mielessä tuo IO ja pakkaus on toisistaan erillinen ongelma. Toki streamin pituuden ja pakkausalgoritmin muiden parametrien kuten dictrionaryn kasvatus kasvattaa myös pakkauksessa ja purussa tarvittavan muistin määrää.

Ja (hyvin yksinkertaistettuna) tuo sanakirja noissa on viittaus datamäärästä johonkin muuttujaan. Eli jos meillä vaikka on "jotain dataa" josta löytyy toistuvia sarjoja näin.

"...ASDF.....ASDFASDF.....JKLÖ..."

Voitaisiin sanakirjana merkitä
$1 = ASDF
$2 = JKLÖ

Ja pakata se malliin:
"...ASDF.....ASDFASDF.....JKLÖ..."
->
"...$1.....$1$1.....$2..."

Jos taas on enemmän resursseja käytössä voitaisiin tehdä sanakirja malliin
$1 = ASDF
$2 = ASDFASDF
$3 = JKLÖ

Ja pakata se malliin:
"...ASDF.....ASDFASDF.....JKLÖ..."
->
"...$1.....$2.....$3..."

Tuon näet helposti vaikka leikkimällä 7zipin LZMA2 pakkaus optioiden kanssa. Normi asetuksella tarvitset pakkaukseen 200MB (per threadi) muistia ja purkuun 20MB. Jos nakkaat sen Ultralle niin pakkaukseen tarvitaan giga luokalla rammia ja purkuun satoja megoja.

Asia on oikeasti ikkupikkusen monimutkaisempi, joten jos aihe oikeasti kiinnostaa niin tuosta iltalukemista. :)

Understanding zlib
 

finWeazel

Chief Karpfen
Liittynyt
15.12.2019
Viestejä
7 792
PS5
IO:n kannalta on parempi hakea yksi iso palikka vs 10000 kpl pieniä palikoita. Jokaiseen hakuun tulee latauksen lisäksi viivettä pyynnöstä ja datan "löytämisestä" tallennusmedialta. Toki liian isot haut kerrallaan eivät nekään ole optimaalisia.
Tän takia siinä rajapinnassa kasataan haut yhteen pyyntöön ja kuitataan haut massana. Voi hakea pienempiä palasia ilman järjetöntä määrää ylimääräisiä kutsuja.

PS5:en matskuissa puhuttiin 512kB palasista optimaalisena nykypeleille, kun mietitään millainen on pakkauksen tiukkuus versus haettavien palasten koko(ei liikaa ylimääräistä dataa). En jaksa kaivaa tälle 512kB palaselle lähdettä, mutta tuo se koko mun muistin mukaan oli jossain devaaja-esityksessä.

ue5:en kompressio/striimaus on hyvä pätkä aiheesta. Linkki kompressioon aikaleilamma. Tuota aikaisemmin on esitetty mitä striimataan ja miks ja miten cachetetaan

 
Liittynyt
09.11.2016
Viestejä
1 330
DirectStorage 1.1:ssa tuo pakkaamaton data jaetaan GDeflate-pakkaamista varten 64 kilotavun osiin. Eli aivan maksimaalista pakkaustehokkuutta tilankäyttöä ajatellen tuolla ei saada, vaan paino on ollut enemmän tuossa purkamisen rinnakkaistamisessa. NVIDIA:n blogitekstin perusteella tuo 64 kilotavua osuu myös yhteen DX 12:n tiled- ja sparse-resurssien standardin osakoon kanssa, joka juurikin indikoi sitä, että tulevaisuudessa voidaan päivittää tekstuureja niin että vain näkyvät osat ovat näytönohjaimella (tuossa Intelin demossa näin jo tehdäänkin). GDeflaten lähdekoodia ei vielä ole valitettavasti näkynyt.
 
Liittynyt
09.11.2016
Viestejä
1 330
Jossain vaiheessa on NVIDIA:n RTX IO -sivulle tullut maininta Vulkan tuesta. Eli NVIDIA:n korteilla voi käyttää myös Vulkanin kanssa Windowsilla ja Linuxilla tuota purkamista. Spekseissä on tuon VK_NV_memory_decompression-käskyn kohdalla mahdollista määrittää mitä purkualgoritmia käytetään, joten GDeflaten lisäksi nähtäneen muitakin algoritmeja jatkossa.
 
Toggle Sidebar

Uusimmat viestit

Statistiikka

Viestiketjut
237 337
Viestejä
4 157 659
Jäsenet
70 409
Uusin jäsen
Eycte

Hinta.fi

Ylös Bottom