Reaaliaikaisen tilannekuvan jakamisen suorituskyky
Tuomisto, Hannu (2016)
Tuomisto, Hannu
2016
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
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ä
2016-12-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201611244784
https://urn.fi/URN:NBN:fi:tty-201611244784
Tiivistelmä
Meteor on täyden pinon web-sovelluskehys, joka on omiaan yhteisöllisesti tuotetun informaation jakamiseen reaaliaikaisesti käyttäjiensä kesken. Työn tavoitteena oli tutkia jo valmiiksi aloitetun Meteor-pohjaisen tilannekuvasovelluksen suorituskykyongelmia ja ratkaista niitä käyttäen tekniikoita, joilla työ oli jo aloitettu tai joita on mahdollista liittää siihen ilman suurempia ongelmia. Toissijaisesti työssä oli tarkoitus tutkia vaihtoehtoisia web-tekniikoita, joiden avulla suorituskykyä voidaan parantaa.
Tilannekuvasovelluksessa osallistuvat henkilöt liikuttavat hallinnoimiaan objekteja ja välittävät objektiensa liikkeen reaaliaikaisesti toisilleen niin, että kukin osallistuja näkee reaaliaikaisena objektien sijainnin ja suunnan kertovan tilannekuvan, jossa objektit liikkuvat nykimättä ruudulla.
Keskeisenä ongelmana tilannekuvasovelluksessa olivat tilannekuvan välittämiseen ja esittämiseen liittyvät viiveet. Nämä asettavat haasteita sille, että käyttäjä kokee käyttöliittymän reagoivan nopeasti tehtyihin muutoksiin, ja sille, että osallistujien näkymät ovat yhdenmukaisia. Työssä perehdyttiin renderöinnin ja kommunikaation taustalla oleviin web-tekniikoihin ja niiden suorituskykyyn.
Riittävä reaaliaikaisuus tilannekuvasovelluksessa saavutettiin ohittamalla paikkaviestien välittäminen MongoDB-tietokannan kautta käyttämällä vain viestipalvelimen välimuistia ja koostamalla välitettäviä viestejä palvelinpäässä tietyllä aikavälillä, jolloin välitettävien viestien määrä olennaisesti väheni. Suorituskyvyn parantamiseksi mahdollisina kehityssuuntina evaluoitiin myös CSS3-, SVG-, canvas- ja WebGL-piirtotekniikoiden käyttöä eri mobiililaitealustoilla: testeissä WebGL oli yksiselitteisesti nopein, muilla menetelmillä tulokset olivat ristiriitaisia eri laitealustoilla.
Tilannekuvasovelluksessa osallistuvat henkilöt liikuttavat hallinnoimiaan objekteja ja välittävät objektiensa liikkeen reaaliaikaisesti toisilleen niin, että kukin osallistuja näkee reaaliaikaisena objektien sijainnin ja suunnan kertovan tilannekuvan, jossa objektit liikkuvat nykimättä ruudulla.
Keskeisenä ongelmana tilannekuvasovelluksessa olivat tilannekuvan välittämiseen ja esittämiseen liittyvät viiveet. Nämä asettavat haasteita sille, että käyttäjä kokee käyttöliittymän reagoivan nopeasti tehtyihin muutoksiin, ja sille, että osallistujien näkymät ovat yhdenmukaisia. Työssä perehdyttiin renderöinnin ja kommunikaation taustalla oleviin web-tekniikoihin ja niiden suorituskykyyn.
Riittävä reaaliaikaisuus tilannekuvasovelluksessa saavutettiin ohittamalla paikkaviestien välittäminen MongoDB-tietokannan kautta käyttämällä vain viestipalvelimen välimuistia ja koostamalla välitettäviä viestejä palvelinpäässä tietyllä aikavälillä, jolloin välitettävien viestien määrä olennaisesti väheni. Suorituskyvyn parantamiseksi mahdollisina kehityssuuntina evaluoitiin myös CSS3-, SVG-, canvas- ja WebGL-piirtotekniikoiden käyttöä eri mobiililaitealustoilla: testeissä WebGL oli yksiselitteisesti nopein, muilla menetelmillä tulokset olivat ristiriitaisia eri laitealustoilla.