Performance and Ease of Use in 3D on the Web: Comparing Babylon.js with Three.js
2021 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [en]
3D JavaScript frameworks are used for creating interactive 3D in web applications. There are two prominent frameworks: Babylon.js and Three.js. They are often compared to one another where performance and ease of use are mentioned as important factors.
A web developer could face choosing a 3D framework. This thesis aims to aid in that process. It investigates how Babylon.js compares to Three.js when it comes to performance such as memory use and frames per second for the end-user consuming a web app. It also investigates how they compare when it comes to ease of use for the developer in terms of initial learnability.
For the performance part, a web app with a minimalistic one box animation was created with each framework and deployed on Netlify. The web app was accessed with a browser’s developer tools to record memory and frames per second. For the ease of use part, observation sessions were made with nine developers who were tasked with getting a basic 3D model up and running locally with each framework with the official documentation as a starting point, one hour limit respectively.
Results showed that both frameworks performed equally when it came to frames per second, and Babylon.js used 2,2 MB, 46 %, more memory. Only five out of eight or 63 % of the participants managed to implement a 3D model in Babylon.js and five out of nine or 56 % in Three.js. Three.js scored slightly higher on ease of use than Babylon.js, but neither framework scored high on the overall scale. Participants favoured Babylon.js when asked to choose. However, almost all had a frustrating experience with both during the sessions.
Performance is similar except for memory use when it comes to lightweight implementations in these frameworks. Initial learnability could be a gatekeeper. If users do not get past the first hurdle fast with quick feedback that a framework works in the most basic sense, a conceivable risk is they could give up and never use it.
Place, publisher, year, edition, pages
2021. , p. 72
Keywords [en]
3D JavaScript frameworks, performance, ease of use, usability, learnability, Babylon.js, Three.js
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-20977OAI: oai:DiVA.org:bth-20977DiVA, id: diva2:1523176
Subject / course
PA1445 Kandidatkurs i Programvaruteknik
Educational program
PAGPT Software Engineering
Supervisors
Examiners
2021-01-282021-01-272021-01-28Bibliographically approved