noVNC/core/wasm
Joel Martin af54d4b95e wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
..
src wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
Cargo.toml wasm: hello world with rust, wasm-bindgen, webpack 2018-07-25 16:02:40 +09:00
Dockerfile wasm: hello world with rust, wasm-bindgen, webpack 2018-07-25 16:02:40 +09:00
README.md wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
bootstrap.js wasm: tests/results for 3 modes. 2018-07-26 14:19:01 +09:00
index.html wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
index.js wasm: use requestAnimationFrame and report FPS. 2018-07-26 15:38:33 +09:00
package.json wasm: tests/results for 3 modes. 2018-07-26 14:19:01 +09:00
webpack.config.js wasm: tests/results for 3 modes. 2018-07-26 14:19:01 +09:00

README.md

noVNC + wasm

This is a WebAssembly proof-of-concept.

It is based on information from the following sources:

Prep:

docker build -t rust-wasm ./core/wasm

docker run -it -v `pwd`:/novnc -w /novnc/core/wasm -p 8080:8080 rust-wasm bash

npm install

Build:

npm run build-release  # or run build-debug (10x slower code)
npm run serve          # then visit localhost:8080 outside the container

Note that run server will automatically detect modification to index.js and reload the page.

Preliminary results:

  • 2048x1024, draw1, release: 23 fps

  • 2048x1024, draw2, release: 51 fps

  • 2048x1024, draw3, release: 60 fps

  • 1024x1024, draw1, release: 36 fps

  • 1024x1024, draw2, release: 60 fps

  • 1024x1024, draw3, release: 60 fps

  • 1024x1024, draw1, debug: 3 fps

  • 1024x1024, draw2, debug: 8 fps

  • 1024x1024, draw3, debug: 9 fps