Open7

[メモ]RustとWebAssemblyによるゲーム開発

mh_1987_pgmh_1987_pg

三角形を表示する章で下記htmlをindex.htmlに追加する必要があった。

<canvas id="canvas" width="600px" height="600px"></canvas>
mh_1987_pgmh_1987_pg

エラーが発生した場合になにか処理をする場合

map_err(|element| {
  anyhow!("Error: {:#?}", element)
})

※成功時の場合に~はmapを使う

mh_1987_pgmh_1987_pg

web_sysとは

Web ブラウザーで使用できるすべての Web API へのバインディングを提供し、Rust および Wasm アプリケーションが、Document Object Model (DOM)、WebGL などのさまざまな Web API と直接対話できるようにします。

らしい。。

mh_1987_pgmh_1987_pg

Boxとは

  • オブジェクトのメモリをヒープに確保することができる。

スタック領域

プロセス起動時に割り当てられたメモリ領域です。
プロセスから見ると起動時からアドレスを知っているのでアクセスは速いのですが、容量はあまり大きくないです。
データの保存・取得方法に癖があり、スタックを配列と見立てると、保存時には push しかできず、取得時には pop しかできません。
不便ではありますが、末尾のアドレスさえ知っていればすぐに読み書きできるので、その構造からもアクセス速度は速くなります。

ヒープ

必要に応じてプロセスに割り当てられるメモリ領域です。
割り当てにあたって OS にメモリー割り当ての要求をする必要があるので、はじめから割り当てられているスタックに比べるとアクセスが遅くなりますが、利用できる容量はスタックよりも大きくなります。
データの保存・取得は任意のアドレスへ行うことができます。

https://qiita.com/nirasan/items/35d13f6a65b41fce014f