2025 年 1 月 5 日 3:12 上午:
- 一年前写的关于 Rust 游戏开发的文章,情况未变,仍在使用 Rend3/WGPU/Vulkan 图形栈,工作尚算合理。
- 2024 年有几个大型游戏项目放弃 Rust,原因包括所有权限制和编译时间长等。[arewegameyet.rs]停止更新,Rend3 被放弃,现由[rend3-hp]维护,已更新到最新版本并修复了导致崩溃的竞态条件,可在“wgpu23safe”分支尝试,暂未发布到[crates.io],因有库补丁。图形栈在内容多使 GPU 繁忙时仍慢,需 Vulkan 无绑定和多个队列,Wgpu 可能 2025 年实现。[Orbit rendering demo]被放弃,[Renderling]有前景但未准备好使用。在 Rust 中做 3D 工作需花费一半时间维护底层,包更新仍是问题。Rust 渲染缺乏空间组件,多数渲染器计算阴影效率低,Bevy 虽能高效渲染但不使用 Rust 所有权。
- 年 1 月 5 日 3:57 上午:
- 除“scene_viewer”外其他示例在 Mac 上运行良好,“scene_viewer”可构建但运行指令不行,立方体边缘有小视觉瑕疵,不确定是否故意,在其他平台未测试。Intel 基于 Mac,运行 macOS 15.2,Rust 1.83.0。
- 年 1 月 5 日 4:42 上午:
- 承认之前未明确说明截图只是局部展示瑕疵,实际应用可展示全貌,动画演示运行良好,窗口可缩放且比例保留。感谢 Winit 和 WGPU 组实现低级别 GPU 东西在未测试平台上运行良好。
- 年 1 月 5 日 8:20 下午:
- 初学者遇到问题,如[pixels]库例子因 winit 新版本代码结构改变而损坏,已重构基本示例需“Arc”包装和.clone调用。
- 年 1 月 5 日 8:30 下午:
- 指出错误,[arewegameyet.rs]的游戏引擎添加并非 6 个月未更新,对框架和库的定义有误,认为这更像是破坏性重构,Rust 游戏开发存在基础库缺乏问题,winit 有回退到旧 API 的方法但有平台兼容性问题。
- 年 1 月 5 日 10:53 下午:
- 一直以来“winit”存在问题,旧版本提供的轮询方法已消失,当前 API 是各平台的最低共同标准,事件循环组合困难,各组件都想成为事件循环,窗口管理器、音频混合器和网络库都想控制,只能在各线程运行并同步。[pump_app_events]虽未被弃用但也有使用限制。在 3D 工作中,Rend3 和 WGPU 内部虽看似多线程但实际由主线程管理队列,影响性能,在复杂场景下帧率低,需重新设计 rend3-framework 以适应新 winit“Application”特质,期待使用 Renderling 但该项目未准备好,WGPU 支持的 Vulkan 子集限制多,绑定是瓶颈,做多线程 3D 图形的人少,自己常遇到问题,目前在寻找 Rend3 中的竞态条件,避免写分配器。还讨论了能否在单独线程中渲染到命令缓冲区及减少绑定的其他方法。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。