Hyppää sisältöön
    • Suomeksi
    • På svenska
    • In English
  • Suomi
  • Svenska
  • English
  • Kirjaudu
Hakuohjeet
JavaScript is disabled for your browser. Some features of this site may not work without it.
Näytä viite 
  •   Ammattikorkeakoulut
  • Kajaanin ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite
  •   Ammattikorkeakoulut
  • Kajaanin ammattikorkeakoulu
  • Opinnäytetyöt (Avoin kokoelma)
  • Näytä viite

Laskentavarjostimien käyttö pelikehityksessä

Kemppainen, Matti (2025)

 
Avaa tiedosto
Kemppainen_Matti.pdf (1.043Mt)
Lataukset: 


Kemppainen, Matti
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202504035560
Tiivistelmä
Laskentavarjostimet ovat olennainen osa modernia pelikehitystä, sillä ne mahdollistavat raskaan laskennan suorittamisen tehokkaasti näytönohjaimen avulla. Opinnäytetyön tavoitteena oli tutkia laskentavarjostimien toimintaa ja niiden hyödyntämistä peleissä erityisesti suorituskyvyn optimoinnin näkökulmasta. Laskenta-varjostimet suoritetaan GPU:lla, kuten muutkin varjostintyypit, mutta niiden keskeinen ero on, että niitä ei käytetä suoraan renderöintiin, vaan niiden pääasiallinen tarkoitus on laskennan suorittaminen ja datan käsittely. Niiden käyttö on usein tehokkaampaa kuin vastaavien laskutoimitusten suorittaminen CPU:lla, erityisesti monimutkaisissa ja rinnastettavissa laskentatehtävissä.

Työssä toteutettiin käytännön kokeiluja Unity-pelimoottorissa, jossa tutkittiin laskentavarjostimien ohjelmointia. Erityisesti perehdyttiin Unityn tarjoamiin rajapintoihin, puskureihin ja renderöintitekstuureihin, joiden avulla C#-skripti ja laskentavarjostin voivat kommunikoida keskenään. Lisäksi käytiin läpi, kuinka laskentavarjostin käynnistetään ja miten sille välitetään tarvittavat tiedot. Tutkimuksen keskiössä oli myös se, kuinka laskentavarjostimet voivat parantaa pelin suorituskykyä siirtämällä raskaita laskentaprosesseja pois CPU:lta GPU:lle.

Keskeisimpinä tuloksina havaittiin, että laskentavarjostimet soveltuvat erinomaisesti rinnakkaislaskentaa vaativiin tehtäviin, kuten maaston luomiseen, reitinhakualgoritmeihin ja fysiikkasimulaatioihin. Opinnäyte-työn toiminnallisessa osuudessa planeetan luomislogiikka siirrettiin C#-skriptistä laskentavarjostimelle, mikä mahdollisti suuren määrän verteksien käsittelyn rinnakkain. Lisäksi toteutettiin jälkikäsittelyefekti, joka hyödynsi laskentavarjostimia ja renderöintitekstuureja. Laskentavarjostinten käyttö osoittautui tehokkaaksi erityisesti silloin, kun käsiteltävä tietomäärä oli suuri ja rinnakkaislaskentaa voitiin hyödyntää kunnolla.

Johtopäätöksenä voidaan todeta, että laskentavarjostimet tarjoavat merkittäviä etuja pelikehityksessä, erityisesti suorituskyvyn optimoinnin kannalta. Ne mahdollistavat monimutkaisten laskentatehtävien suorittamisen tehokkaasti ilman, että CPU kuormittuu liikaa. Työssä toteutetut kokeilut vahvistavat, että laskenta-varjostimien hyödyntäminen voi parantaa pelien suorituskykyä merkittävästi, kunhan niiden käyttö suunnitellaan huolellisesti. Lisäksi havaittiin, että pienemmissä laskentatehtävissä CPU voi joissain tapauksissa olla tehokkaampi vaihtoehto tiedonsiirrosta aiheutuvan viiveen takia. Näin ollen laskentavarjostimen käyttöä harkittaessa on tärkeää arvioida tapauskohtaisesti, missä tilanteissa sen käyttö on tarkoituksenmukaista.
Kokoelmat
  • Opinnäytetyöt (Avoin kokoelma)
Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste
 

Selaa kokoelmaa

NimekkeetTekijätJulkaisuajatKoulutusalatAsiasanatUusimmatKokoelmat

Henkilökunnalle

Ammattikorkeakoulujen opinnäytetyöt ja julkaisut
Yhteydenotto | Tietoa käyttöoikeuksista | Tietosuojailmoitus | Saavutettavuusseloste