WebGL- ja WebGPU-rajapintojen hyödyntäminen selainpeleissä
Salonen, Tuukka (2024)
Salonen, Tuukka
2024
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Programme in Computer Sciences
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2024-05-27
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202405206059
https://urn.fi/URN:NBN:fi:tuni-202405206059
Tiivistelmä
Selainpohjaiset videopelit ovat kehittyneet valtavasti viime vuosien aikana. Teknologian kehittyessä ilmestyy uusia ja tehokkaampia ratkaisuja, joita peleissä voidaan hyödyntää. Vanhentuneet teknologiat korvataan uusilla ja edistyneemmillä vaihtoehdoilla. Tällä hetkellä kehityksessä oleva teknologia on tuomassa ennennäkemätöntä graafista suorituskykyä selainpeleille.
Tutkielman tarkoituksena on tutustua selainpelien graafiseen puoleen, tarkastellen erityisesti standardoituja grafiikkarajapintoja sekä erilaisia työkaluja, joilla rajapintoja voidaan hyödyntää selainpeleissä. Rajapinnoista tarkempaan tarkasteluun valittiin jo vakiintunut WebGL ja hyvin lupaava, mutta vielä kehityksessä oleva WebGPU. Tutkielmassa tutustutaan selainpeleihin, niiden graafiseen evoluutioon sekä grafiikkarajapintojen toimintaan 3D-peleissä. Lisäksi tutkitaan erilaisia JavaScript-kirjastoja ja pelimoottoreita vertaillen niiden ominaisuuksia selainpelien näkökulmasta. Yhtenä tutkielman keskeisenä vertailukohteena ovat kirjastojen sekä pelimoottorien tuki valituille rajapinnoille ja mahdolliset rajoitukset rajapintojen hyödyntämisessä. Lisäksi vertaillaan itse rajapintojen välillä olevia eroja toiminnallisuudessa, suorituskyvyssä ja niiden mahdollisia rooleja tulevaisuuden selainpeleissä.
Tutkimuksen perusteella voidaan päätellä, että selainpeleissä käytetty teknologia 3D-graafikoiden piirtämiseen on muuttunut merkittävästi. Selainpelien kehityksen alkupuolella käytetyt selainlaajennukset ovat vaihtuneet suoraan selaimeen integroituihin avoimiin standardeihin. Tarkastellut standardit, WebGL- ja WebGPU-rajapinnat, eivät kuitenkaan ole sellaisenaan helppokäyttöisiä graafisesta ohjelmoinnista tuntemattomille. Sen vuoksi erilaiset JavaScript-grafiikkakirjastot sekä pelimoottorit helpottavat, rikastavat ja optimoivat rajapintojen käyttöä.
Voidaan myös todeta, että rajapintojen tulevaisuudennäkymät eroavat toisistaan. WebGL todennäköisesti menettää roolinsa vakiintuneena standardina uudelle ja tehokkaammalle WebGPU-rajapinnalle. Tutkimustulokset osoittavat, että WebGPU:n suorituskyvyssä on merkittävä parannus verrattuna WebGL-rajapintaan. Roolinvaihtoa ei kuitenkaan ole vielä tapahtunut, koska WebGPU ei ole vielä saanut täyttä tukea kaikilta pelimoottoreilta ja selaimilta. Sen suorituskyvyn vuoksi voi kuitenkin olettaa, että WebGPU vakiinnuttaa itsensä käytetyimpänä grafiikkarajapintana selainpeleissä.
Tutkielman tarkoituksena on tutustua selainpelien graafiseen puoleen, tarkastellen erityisesti standardoituja grafiikkarajapintoja sekä erilaisia työkaluja, joilla rajapintoja voidaan hyödyntää selainpeleissä. Rajapinnoista tarkempaan tarkasteluun valittiin jo vakiintunut WebGL ja hyvin lupaava, mutta vielä kehityksessä oleva WebGPU. Tutkielmassa tutustutaan selainpeleihin, niiden graafiseen evoluutioon sekä grafiikkarajapintojen toimintaan 3D-peleissä. Lisäksi tutkitaan erilaisia JavaScript-kirjastoja ja pelimoottoreita vertaillen niiden ominaisuuksia selainpelien näkökulmasta. Yhtenä tutkielman keskeisenä vertailukohteena ovat kirjastojen sekä pelimoottorien tuki valituille rajapinnoille ja mahdolliset rajoitukset rajapintojen hyödyntämisessä. Lisäksi vertaillaan itse rajapintojen välillä olevia eroja toiminnallisuudessa, suorituskyvyssä ja niiden mahdollisia rooleja tulevaisuuden selainpeleissä.
Tutkimuksen perusteella voidaan päätellä, että selainpeleissä käytetty teknologia 3D-graafikoiden piirtämiseen on muuttunut merkittävästi. Selainpelien kehityksen alkupuolella käytetyt selainlaajennukset ovat vaihtuneet suoraan selaimeen integroituihin avoimiin standardeihin. Tarkastellut standardit, WebGL- ja WebGPU-rajapinnat, eivät kuitenkaan ole sellaisenaan helppokäyttöisiä graafisesta ohjelmoinnista tuntemattomille. Sen vuoksi erilaiset JavaScript-grafiikkakirjastot sekä pelimoottorit helpottavat, rikastavat ja optimoivat rajapintojen käyttöä.
Voidaan myös todeta, että rajapintojen tulevaisuudennäkymät eroavat toisistaan. WebGL todennäköisesti menettää roolinsa vakiintuneena standardina uudelle ja tehokkaammalle WebGPU-rajapinnalle. Tutkimustulokset osoittavat, että WebGPU:n suorituskyvyssä on merkittävä parannus verrattuna WebGL-rajapintaan. Roolinvaihtoa ei kuitenkaan ole vielä tapahtunut, koska WebGPU ei ole vielä saanut täyttä tukea kaikilta pelimoottoreilta ja selaimilta. Sen suorituskyvyn vuoksi voi kuitenkin olettaa, että WebGPU vakiinnuttaa itsensä käytetyimpänä grafiikkarajapintana selainpeleissä.
Kokoelmat
- Kandidaatintutkielmat [9001]