Networking tools performance evaluation in a VR application : Mirror vs. Photon PUN2
Aaltonen, Pasi (2022)
Aaltonen, Pasi
2022
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2022061718179
https://urn.fi/URN:NBN:fi:amk-2022061718179
Tiivistelmä
Moninpelikonsepti juontaa juurensa jo 1970-luvulta. Vuosien saatossa moninpeli on kasvanut samalla koneella pelattavasta moninpelista lokaaliverkon välityksellä pelattavaksi ja siitä aina internetin yli koko maailman kattavaksi konseptiksi.
Tämän opinnäytetyön tarkoituksena oli tutkia eri työkaluja moninpelin luomiseksi ja selvittää näiden mahdollisia eroavaisuuksia performanssin osalta. Työ toteutettiin yhteistyössä Ade Oy:n kanssa. Työn ensimmäisessä vaiheessa keskityttiin moninpeliarkkitehtuuriin sekä olemassa oleviin moninpelityökaluihin, joista lopulta vertailuun valittiin avoimenlähdekoodin ratkaisu Mirror sekä palveluratkaisuna tarjottava Photon PUN2.
Moninpeli ratkaisujen performanssiarvio toteutettiin käyttäen Unity -pelimoottoria. Työn lopputuloksena ei ollut kokonainen monin pelattava VR -sovellus vaan työ toteutettiin tekniikkademona. Tutkimuksessa kerättiin dataa eri käyttäjämäärien vaikutuksesta sovelluksen performanssiin sekä verkon kuormitukseen. Vaatimukset moninpelratkaisulle sekä kerättävälle datalle päätettiin yhdessä toimeksiantajan kanssa.
Performanssitutkimuksen datan keräys toteutettiin FIT Turku -osaamiskeskuksen tiloissa lähiverkon välityksellä, jolloin dataa kerättiin sovelluksen FPS:n tasaisuudesta, CPU:n sekä järjestelmämuistin käytöstä, siirrettävien pakettien määrästä ja koosta sekä kaistanleveydestä. Data-analyysin perusteella tämän tyyppiselle VR -sovellukselle Mirror näytti lopulta olevan parempi vaihtoehto sillä PUN2:lla esiintyy nähtävää viivettä liikkeiden synkronoinnin osalta alemmilla käyttäjämäärillä kuin Mirrorilla. The concept of multiplayer was already formed in the 1970s. Throughout the years, the multiplayer concept has grown from locally played games on a single computer to games played through a local network to a globally reachable concept.
The purpose of this thesis was to study different tools for multiplayer games and evaluate possible differences in performance between them. This thesis project was commissioned by Ade Ltd. The first phase of the thesis focuses on multiplayer architecture and available multiplayer frameworks from which two were chosen for comparison, an open-source solution Mirror and software as a service solution Photon PUN2.
The evaluation of multiplayer solutions’ performance was carried out using the Unity game engine. The outcome of this thesis project was not a full VR training application, but the project was executed as a technology demo. The aim of this thesis was to research how user count increase affects the performance of an application and network traffic. The requirements for the multiplayer solution and metrics for performance and network traffic data collection were determined together with the commissioner.
The performance evaluation was executed in the FIT Turku Center's premises local network by collecting data from FPS stability, CPU and system memory usage, amount and size of sent packets through the network, and used bandwidth. The data analysis indicated Mirror to be more suitable for this type of VR application as with PUN2 there were noticeable delays in movement synchronization on lower user count than with Mirror.
Tämän opinnäytetyön tarkoituksena oli tutkia eri työkaluja moninpelin luomiseksi ja selvittää näiden mahdollisia eroavaisuuksia performanssin osalta. Työ toteutettiin yhteistyössä Ade Oy:n kanssa. Työn ensimmäisessä vaiheessa keskityttiin moninpeliarkkitehtuuriin sekä olemassa oleviin moninpelityökaluihin, joista lopulta vertailuun valittiin avoimenlähdekoodin ratkaisu Mirror sekä palveluratkaisuna tarjottava Photon PUN2.
Moninpeli ratkaisujen performanssiarvio toteutettiin käyttäen Unity -pelimoottoria. Työn lopputuloksena ei ollut kokonainen monin pelattava VR -sovellus vaan työ toteutettiin tekniikkademona. Tutkimuksessa kerättiin dataa eri käyttäjämäärien vaikutuksesta sovelluksen performanssiin sekä verkon kuormitukseen. Vaatimukset moninpelratkaisulle sekä kerättävälle datalle päätettiin yhdessä toimeksiantajan kanssa.
Performanssitutkimuksen datan keräys toteutettiin FIT Turku -osaamiskeskuksen tiloissa lähiverkon välityksellä, jolloin dataa kerättiin sovelluksen FPS:n tasaisuudesta, CPU:n sekä järjestelmämuistin käytöstä, siirrettävien pakettien määrästä ja koosta sekä kaistanleveydestä. Data-analyysin perusteella tämän tyyppiselle VR -sovellukselle Mirror näytti lopulta olevan parempi vaihtoehto sillä PUN2:lla esiintyy nähtävää viivettä liikkeiden synkronoinnin osalta alemmilla käyttäjämäärillä kuin Mirrorilla.
The purpose of this thesis was to study different tools for multiplayer games and evaluate possible differences in performance between them. This thesis project was commissioned by Ade Ltd. The first phase of the thesis focuses on multiplayer architecture and available multiplayer frameworks from which two were chosen for comparison, an open-source solution Mirror and software as a service solution Photon PUN2.
The evaluation of multiplayer solutions’ performance was carried out using the Unity game engine. The outcome of this thesis project was not a full VR training application, but the project was executed as a technology demo. The aim of this thesis was to research how user count increase affects the performance of an application and network traffic. The requirements for the multiplayer solution and metrics for performance and network traffic data collection were determined together with the commissioner.
The performance evaluation was executed in the FIT Turku Center's premises local network by collecting data from FPS stability, CPU and system memory usage, amount and size of sent packets through the network, and used bandwidth. The data analysis indicated Mirror to be more suitable for this type of VR application as with PUN2 there were noticeable delays in movement synchronization on lower user count than with Mirror.