Skip to content

Commit

Permalink
Fix the version number of wasm-bindgen-cli in README
Browse files Browse the repository at this point in the history
  • Loading branch information
jinleili committed Dec 1, 2024
1 parent f3f793c commit de9a8f8
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 10 deletions.
2 changes: 1 addition & 1 deletion README.MD
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Implemented `CanvasViewPlugin` to replace `bevy_winit`, allowing the Bevy engine
# Add Rust WebAssembly target
rustup target add wasm32-unknown-unknown
# Install wasm-bindgen command line tool
cargo install -f wasm-bindgen-cli --version 0.2.92
cargo install -f wasm-bindgen-cli --version 0.2.97

# Run:
# First install the http server
Expand Down
19 changes: 10 additions & 9 deletions zh.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Bevy in Web Worker

展示如何在 Web Worker 中运行 Bevy 引擎,以及 HTML 元素与 Bevy 之间的交互。

实现了 `CanvasViewPlugin` 来替代 `bevy_winit`,使 Bevy 引擎能够脱离主线程,在 Web Worker 中高效运行,从而显著提升了应用的性能和响应速度。同时,还演示了 HTML 元素和 Bevy 引擎之间的双向通信,实现了复杂的交互模式来验证 Engine 放进 Web Worker 后与主线程交互的通信时延与性能。
Expand All @@ -12,20 +13,20 @@

**针对上面验证点的设计:**

1. 不对鼠标事件触发频率做任何 **Throttle**, 每一个 mousemove 事件都会发送给 worker, 由 worker 执行一次 ray pick 后将结果发回给主线程;
2. 设计了高交互复杂度 **选中/高亮** 逻辑:
1. 主线程 postMsg 给 worker -> 
2. worker 转交任务给 engine 执行 ray pick -> 
3. 将结果从 engine 发给 worker -> 
4. 由 worker postMsg 给主线程 -> 
5. 主线程再 postMsg 给 worker 执行需要的 **选中/高亮**
1. 不对鼠标事件触发频率做任何  **Throttle**, 每一个 mousemove 事件都会发送给 worker, 由 worker 执行一次 ray pick 后将结果发回给主线程;
2. 设计了高交互复杂度  **选中/高亮**  逻辑:
1. 主线程 postMsg 给 worker ->
2. worker 转交任务给 engine  执行 ray pick ->
3. 将结果从 engine 发给 worker ->
4. 由 worker postMsg 给主线程 ->
5. 主线程再 postMsg 给 worker 执行需要的  **选中/高亮**
3. 模拟了主线程阻塞的场景,可以控制单帧阻塞时长,同时左上角有一个**主线程卡顿指示器**便于观察阻塞结果;
4. 界面中同时提供了 主线程与 Worker 线程 两个运行实例,方便直观对比;
5. 模拟了 mousemove, onmessage 及 render 内阻塞的场景;
6. 提供了按住鼠标左键拖动场景对象的功能;
7. 模拟了工具类 App 的帧渲染逻辑:关闭场景动画后,帧渲染就完全由鼠标事件驱动;

![Bevy in Web Worker](./screenshot.png)
![Bevy in Web Worker](./screenshot.png)

## 代码运行

Expand All @@ -34,7 +35,7 @@
# 添加 Rust WebAssembly target
rustup target add wasm32-unknown-unknown
# 安装 wasm-bindgen 命令行工具
cargo install -f wasm-bindgen-cli --version 0.2.92
cargo install -f wasm-bindgen-cli --version 0.2.97

# 运行:
# 先安装 http server
Expand Down

0 comments on commit de9a8f8

Please sign in to comment.