Microsoft ilmoitti aiemmin esittelevänsä DirectX-rajapintaan uuden Direct Super Resolution -ominaisuuden GDC 2024 -tapahtumassa. Nyt messut ovat ohi ja DirectSR:n yksityiskohdat alkavat olemaan selvillä.
Microsoftin uusi Direct Super Resolution on tarkoitettu tekemään paitsi pelinkehittäjien, myös pelaajien arkipäivästä astetta helpompaa. Ominaisuuden idea on tarjota kehittäjille yksi yhteinen rajapinta, jonka kautta tuetaan suoraan kaikkia skaalaustekniikoita. Tekniikan avulla tullaan pääsemään ainakin DirectX-pelien osalta eroon tilanteesta, jossa peli tukee vain tiettyjä skaalaimia.
Vaikka DirectSR on pohjimmiltaan rajapinta, jonka kautta voidaan tukea suoraan kaikkia skaalaimia, sen mukana tullaan myös toimittamaan ainakin yksi kaikilla toimiva skaalain, eli AMD:n FidelityFX Super Resolution 2. Tarkemmin kyse on FSR 2:n tuoreimman 2.2.2-version pohjalta kehitetystä versiosta, jossa luvataan olevan mukana kaikki tuoreimmat parannukset skaalauksen laatuun. Microsoftin diassa puhutaan kuitenkin mukana tulevista skaalaimista monikossa, mikä vihjaisi FSR 2:n saavan rinnalleen myös toisen kaikilla toimivan skaalaimen, mutta yksityiskohdat siitä jäävät selvitettäviksi myöhemmin.
Siinä missä FSR 2 ja mahdolliset muut mukana tulevat skaalaimet tulevat toimimaan kaikilla, DirectSR tukee luonnollisesti myös kaikkien omia skaalaustekniikoita, kuten DLSS ja XeSS. Loppukäyttäjä pääsee siis valitsemaan vielä pelissä haluamansa skaalaimen. Microsoftin diassa mainitaan myös erikseen NPU:t, mikä vihjaa ainakin jonkin valmistajan olevan kehittämässä GPU:n sijasta prosessorin tekoälykiihdyttimellä toimivaa skaalainta.
Lähde: 4Gamer
Mites sitten Vulcan-pelit?
Miksi Microsoftia varsinaisesti kiinnostaisi muu kuin DirectX. Vulkanin osalta mennään varmaan kuten tähänkin asti.
Juurikin. DX:llä ei ole koskaan ollut mitään tekemistä Vulcanin kanssa, eli ne kulkevat eri polkuja, kuten ennenkin. Vaihtoehtoinen reitti. Sehän on sinällään kiinnostavaa tuleeko Vulcaniin jollakin aikavälillä vastaava geneerinen rajapinta.
Ei ole mitään roadmapissa tämmöiseen ja se toisaalta sotisi koko Vulkanin ideologiaa vastaan. Vulkanissa ei haluta piilotella mitään minkään yhden API kutsun taakse vaan idea on että ohjelmoija itse granulaarisesti tekee kaiken niin kuin haluaa ja laitteisto ei tee mitään ylimääräistä. Eli Vulkanilla homma menee niin että jos haluat FSR:n niin rakennat itse pipelinen. DLSS:lle oma pipeline nVidian ekstensioilla ja sitä rataa.
Vieläkin menee niin, että valmistaja laittaa tuen ajuriin. Sitten vaan käyttäjälle tulee valinta, mitä käytetään. Valintalaatikko, jossa on noiden teknologioiden nimet. Mielestäni vähän turhaa, kun Nvidian käyttäjät valitsevat kuitenkin Nvidian, AMD:n käyttäjillä ei ole mistä valita ja Intelin käyttäjistä ei ole väliä. Sitten on valintoja sekoittamassa käyttäjää. En olisi itse tehnyt näin.
Taitaa ennemmin mennä niin että skaalain kertoo että millä laitteistolla se toimii. Ei mitään xess juttuja kukaan ala amd:n tai nvidian ajureihin tunkemaan. Skaalain kysyy (tai peli kysyy skaalaimen puolesta) ajureilta että mitä laskutoimituksia/feature settejä kortti tukee ja se siitä sitten.
Ja ihan hyvä juttu että voi käyttäjä itse valita mitä käyttää. Osassa peleistä xess voi olla parempi ja toisissa fsr. Lisäksi muitakin avoimia vaihtoehtoja voi tulla saataville ajan myötä.
Tukee niitä pelejä joihin tuki tehdään, ei tässä mitään geneeristä globaalia skaalausta olla tekemässä vaan DirectX rajapintaa jota pelintekijät sitten halutessaan käyttävät tulevissa peleissään. Eli ei tule koskemaan vanhoja tai sinänsä uudempiakaan pelejä, tuskin kukaan alkaa päivittämään jo julkaistuja pelejä tätä varten.
Helposti voisi kuvitella XeSSin geneerisen polun tähän, mutta toisaalta se olisi varmaan voitu jo nimetä jos näin olisi. Yksi mahdollisuus olisi Microsoftin oma skaalain, ovat ymmärtääkseni sillä saralla puuhastellut ja vasta tuli ulos videoita varten oleva skaalain Edgeen josta ei enää pitkä matka olisi tähänkin käyttötarkoitukseen vaikkei nyt täysin samasta asiasta ole.
Unreal enginen skaalain saattais kans olla yks vaihtoehto.
Minun mielestä DirectX ei wräppää applikaatio spesifisiä toimintoja alleen. DirectX keskustelee driverin kanssa joka ei tiedä hölkäsen pöläystä Unreal Enginen TSR:stä tai minun itse tekemän enginen HHSR*:stä, kun siltä kysytään että mikä on tuettuna.
*Huvittavan Huono Super Resolution
Tai voihan se tukea. Näin minä asian kuitenkin käsitin.
Ajattelin vaan että jos haluavat omansa saman apin taakse, eikä erillisvalinnaksi jonnekkin muualle. Jos haluavat pitää skaalaimensa oman koodipolun alla, niin sit ei toki relevattia.
Se nimenomaan on idea että skaalaimet tulee ajurien mukana, jos ei mitään tule niin sitten on FSR2 käyttettävissä (ja mahdollisesti myöhemmin muita sisäänrakennettuja)
Eli jos haluan ajaa xess amd:n näyttiksellä niin mulla pitäis olla intelin ajurit? Missä tää detaili oikein lukee?
Jos nyt yhtään ymmärsin miten tuo toimii niin kun kysytään DirectSR api läpi että annappa scalerit nin sieltä tulee [runtimen-sisällä-olevat] + [driverin ilmoittamat] listana.
Jos siis haluaisin oman HupiSR:n mukaan niin minun pitäisi saada se uutena modulina DirectSR runtimen mukaan.
Mitenhän tuon kautta menee versiointi kun pelit ovat toimittaneet tähän asti oman DLSS.dll:n jota vasten toiminnallisuus validoitu? Koneelle voi kasaantua nippu DirectSR runtimejä varmasti riippuen mitä pelejä pelaa.
E: Oliko tuo Microsoftin GDC session slidet jo jostain saatavilla niin voisi tutustua tarkemmin?
Mitenhän joku sitten alkaa tuolle kehittämään omaa scaleria? Luulis että se osaa jostain $path:sta ettiä niitä. Ihan järjetön ajatus että kehitysversioiden testaus hoituisi dx runtimeversioiden kautta.
Tietääkseni DirectSR läpi on mahdollista tällä hetkellä enabloida vain FSR2 eikä mitään muuta. Pitää odottaa lisäinfoa ja että ainakin tuon MS:n dev esityksen slidet saataisiin julki kaikille, mutta minusta tuntuu että tämän tarkoitus ei ole mahdollistaa kenen tahansa kirjoitella omia scalereita vaan yhtenäistää laitevalmistajien omia toteutuksia helpommin enabloitaviksi. Jos haluat tehdä oman scalerin niin voit tehdä sen customina omaan engineen (vähän niin kuin EPIC TSR:n kanssa).
Odotetaan lisäinfoa.
Saapa nähdä miten ton läpi saadaan sit xess vaikka amd:n korteille. Olis harmi jos saatavilla olevien skaalaimien määrä laskisi dSR:n myötä.
Vaatisi joko sitä, että Intel ja Microsoft toteuttaa tuon yhdessä yhdeksi oletustoteutukseksi tai että Intel julkaisee XeSS:in lähdekoodit ja AMD toteuttaa sen omissa ajureissaan. Oletan kyllä, että jälkimmäinen ei ole tapahtumassa.
Virallisesti en tiedä mutta koska kyseessä on läjä API-kutsuja, luulisi olevan yhtä helppoa kuin muidenkin DirectX-dll-shimmien kanssa tuupata oma toteutus sinne väliin.
Toivottavasti tosin tälläiset laajennukset on tuettu ihan virallisestikin, olisihan se vähän hölmöä jos ei.
Virallisesti en tiedä mutta koska kyseessä on läjä API-kutsuja, luulisi olevan yhtä helppoa kuin muidenkin DirectX-dll-shimmien kanssa tuupata oma toteutus sinne väliin.
Toivottavasti tosin tälläiset laajennukset on tuettu ihan virallisestikin, olisihan se vähän hölmöä jos ei.
Näinhän sitä tosiaan kuvittelisi, mutta risteäviä näkemyksiä on tämäkin ketju täynnä..
Tai että kopioi dll tiedoston johonkin kansioon. Toivottavasti. Miten muuten vaikka jotain fsr:ää kehitetään jatkossa, kun kehitysversioita ei voi enää testata mitenkään?
Pelillä tuota ei tartte enää teorissa testata. Eli jatkossa PIX:illä otetaan kerran capturet halutuista kohdista peliä ja sitten ne samat piirtokomennot voi toistaa aina uudestaan ja tarkistella millainen on lopputulos skaalauksen jälkeen. Tämä toimii sekä pelikehittäjille ja ajurikehittäjille.
Pienoinen epäselvyys tässä on se, että onko noita versioita mahdollista lukita, eli voiko pelikehittäjä valita, että peli tukee vain tietyn skaalaimen tiettyjä versioita.
Toivottavasti yhtä helppoa myös skaalainkehittäjille. Jos vaikka joku haluaa fsr:ää kehittää eteenpäin.
data-unfurl="true" data-result-id="620760" data-url="https://devblogs.microsoft.com/directx/directsr-preview/" data-host="devblogs.microsoft.com" data-pending="false">
class="link link--external fauxBlockLink-blockLink"
target="_blank"
rel="nofollow noopener"
data-proxy-href="">
DirectSR Preview Available Now – DirectX Developer Blog
data-onerror="hide-parent"/>
devblogs.microsoft.com
data-unfurl="true" data-result-id="620761" data-url="https://gpuopen.com/learn/microsoft-directsr-announced/" data-host="gpuopen.com" data-pending="false">
class="link link--external fauxBlockLink-blockLink"
target="_blank"
rel="nofollow noopener"
data-proxy-href="">
Microsoft® DirectSR and AMD FidelityFX™ Super Resolution technology
data-onerror="hide-parent"/>
gpuopen.com
Kommentoi uutista tai artikkelia foorumilla (Kommentointi sivuston puolella toistakseksi pois käytöstä)
Lähetä palautetta / raportoi kirjoitusvirheestä