• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 2
  • 1
  • Tagged with
  • 3
  • 3
  • 3
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

WebGL2 renderer ve WebAssembly / WebGL2 Renderer in WebAssembly

Režňák, Pavel January 2018 (has links)
This thesis is focused on fast rendering of the 3D scene in a web browser with usage of modern technologies, for instance WebGL and WebAssembly. In this thesis you will find out how to compile an application which was written in C++ language into WebAssembly via Emscripten compilator and how to insert this code into a web page. Futhermore, you will find out how to communicate between C++ language and JavaScript, how to call functions, create instances and how to share memory between them. During design of a rendering core you will learn a few methods how to improve rendering performance. In the end the performance of this technologies is compared.
2

Compiling SDL Multiplayer Games to WebAssembly with Emscripten for use in Web Browsers / Kompilera SDL multiplayer spel till WebAssembly med Emscripten för användning i webbläsare

Falkmer, Oscar, Norrman, Martin January 2022 (has links)
Collecting and deploying online games made by inexperienced developers can behard. This is something KTH (Royal Institute of Technology) has a problem withpertaining to a course involving SDL and SDL_Net programming. A good solutionto this problem is to host these games on a website. An easy-to-use way of compilingand deploying multiplayer games and game-servers written in C as web applicationsand web servers was needed. Specifically for games written in C using SDL andSDL_net libraries. The compiler toolchain Emscripten was used to compile gameand server code from C to WebAssembly, that could then be used through the generated JavaScript functions. Communication between the client and the server washandled by WebSockets. As much of the Emscripten specific functions were to behidden behind C libraries, emulating the format of SDL_Net. The finished solutionsthat emulated the format of SDL_Net, consisted of two new libraries, one for theserver and the other for the client. The libraries successfully emulated the TCP partsof SDL_Net library. The browsers event scheduler necessitates applications to beable to return control back to it. This meant that the game codes endlessly loopingfunctions had to be rewritten to enable rendering in the browser. / Det kan vara svårt att samla in och distribuera onlinespel gjorda av oerfarnautvecklare. Detta är något som KTH (Kungliga Tekniska Högskolan) har problemmed i en kurs som involverar SDL och SDL_Net programmering. En bra lösning pådetta problem är att köra dessa spel på en webbsida. Ett lättanvänt sätt att kompileraoch distribuera multiplayer-spel och spelservrar skrivna i C till webbapplikationeroch webbservrar behövdes. Specifikt för spel skrivna i C med SDL och SDL_netbiblioteken. Kompileringsverktyget Emscripten användes för att kompilera spel- ochserverkod från C till WebAssembly, som sedan kunde användas genom degenererade JavaScript-funktionerna. Kommunikationen mellan klienten ochservern sköttes av WebSockets. I största möjliga mån skulle Emscripten specifikafunktioner döljas bakom C-bibliotek som emulerade formatet av SDL_Net. Defärdiga lösningarna som emulerar formatet av SDL_Net bestod av två nya bibliotek,ett för servern och det andra för klienten. De emulerade framgångsrikt TCP-delarnaav SDL_Net biblioteket. Webbläsarens händelseschemaläggare kräver attapplikationer har möjligheten att återge kontroll till den. Detta gjorde att spelkodensoändligt loopande funktioner behövdes skrivas om för att kunna rendera i webbläsaren.
3

WebAssembly Performance Analysis: A Comparative Study of C++ and Rust Implementations

Aiyatham Prabakar, Rishi Kiran January 2024 (has links)
Background: In the contemporary digital landscape, web browsers have evolved from mere text renderers to sophisticated platforms supporting interactive 3D visualizations, multimedia, and gaming applications. This evolution has been catalysed by the advent of WebAssembly, a binary instruction format designed to enhance browser performance by executing high-level language code with near-native efficiency. This thesis investigates the performance implications of WebAssembly modules generated from programs written in C++ and Rust programming languages. Objectives: The primary aim is to assess the performance of WebAssembly(Wasm) modules generated from Rust and C++ programming languages. This involves conducting a mini literature review on WebAssembly compilation, C++, and Rust semantics and compilation processes. Furthermore, the study aims to evaluate the performance of C++ and Rust Wasm modules encompassing tasks such as sorting and matrix multiplication. Performance metrics including execution time and file size of the obtained Wasm modules are analysed using Chrome’s DevTools. Ultimately, the research endeavours to provide insights into Wasm performance. Method: In this study, the research method relies on a quantitative experimental approach by writing programs like quicksort and matrix multiplication in both C++and Rust programming languages and compiling them into Wasm modules using compilers like Emscripten for C++ and RustC for Rust programs respectively. Since, the Wasm module is a byte code type it is converted into WebAssembly Text Format (WAT) file for obtaining the readable machine instructions. Performance metrics like execution speed, file size, and number of assembly instructions like add, load, loop, etc are evaluated and calculated using Chrome’s DevTools. Results: The study which involves a comparative analysis between Wasm modules of C++ and Rust programming languages showcase that the performance of the Rust Wasm module is more fast and efficient in terms of execution time, file size, etc than C++ Wasm module. The findings aim to assist developers in making informed decisions regarding programming language selection for web development, thereby enhancing the efficiency of web applications. Conclusion: The study has determined that the performance characteristics of WebAssembly modules originating from both C++ and Rust programs vary. The results underscore the superior speed and efficiency of Rust-generated Wasm modules when contrasted with those produced from C++. These insights establish a robust basis for future research and optimization initiatives within the field of web development.

Page generated in 0.0242 seconds