Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Performance and Ease of Use in 3D on the Web: Comparing Babylon.js with Three.js
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
2021 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE creditsStudent 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
Available from: 2021-01-28 Created: 2021-01-27 Last updated: 2021-01-28Bibliographically approved

Open Access in DiVA

Performance and Ease of Use in 3D on the Web Comparing Babylon.js with Three.js(703 kB)4811 downloads
File information
File name FULLTEXT01.pdfFile size 703 kBChecksum SHA-512
996f1d0ddf22387116db469026804b3f1d28907ea21abba78ad53c8b37f3b86e17ff9c92fcfa83196349a2510ec86da465b2a9eb09e7ecf0a28686860c236009
Type fulltextMimetype application/pdf

By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 4814 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 9905 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf