Upgrade to Pro — share decks privately, control downloads, hide ads and more …

WebAssemblyとそのデモ

 WebAssemblyとそのデモ

About WebAssembly and its demo.

Avatar for komadamnak

komadamnak

June 23, 2020

Other Decks in Programming

Transcript

  1. WebAssembly WebAssembly ͱ͸ ެࣜαΠτΑΓ binary instruction format for a stack-based

    vir- tual machine.(ελοΫϕʔεͷԾ૝Ϛγϯʹର͢Δό ΠφϦͷ໋ྩίʔυ) ! ΢Σϒϒϥ΢β্Ͱ࣮ߦͰ͖ΔόΠφϦݴޠ 2 / 20
  2. WebAssembly ͷԠ༻ྫ 1 Rust Λ࢖ͬͯ Image Buffer Λૢ࡞͢ΔͨΊͷ WASM Λ

    ࡞੒ 2 WASM ͔Βදࣔ༻ͷը૾ͷ buffer Λ࡞੒ 3 Javascript ͔ΒΞχϝʔγϣϯ୯ҐͰɺWASM ͷϞδϡʔ ϧΛݺͼग़͢ɻ 4 wasm Ϟδϡʔϧ͸ɺbuffer Λߋ৽ɻ 5 Javascript ͸ϝϞϦ্ͷ buffer Λࢀরͯ͠ canvas ʹ දࣔɻ 11 / 20
  3. WASM(Rust) ଆ install ˍ create ˍ build rustup target add

    wasm32-unknown-unknown cargo new --lib demo cargo build --target wasm32-unknown-unknown -- release ্͔ΒͦΕͧΕɺwebassembly ίϯύΠϧ༻ͷ؀ڥͷ௥Ճɺϓϩ δΣΫτͷ࡞੒ɺ͓Αͼ webassembly ΁ͷίϯύΠϧ 13 / 20
  4. WebAssembly ͷԠ༻ྫ WASM(Rust) ଆ ը૾ͷେ͖͞Λࢦఆ͠ɺbuffer Λ static ʹએݴ͢Δ u32 ʹ͍ͭͯ

    RGBA ۭؒʹ͓͚Δ 1 ϐΫηϧ͋ͨΓʹ͔ͭ͏৘ใྔ͸ 4byte = 32bit 14 / 20