rust_pixel - 一个2D游戏引擎和快速原型工具
rust_pixel是一个2D游戏引擎和快速原型工具,支持文本和图形渲染模式。它适合创建2D像素风格游戏和开发终端应用程序。它可以编译成FFI用于前端和后端,也可以编译成WASM用于web项目。
文本模式:使用crossterm在终端中运行,使用ASCII和Unicode Emoji进行绘制。 图形模式(SDL2和Web):使用glow和sdl2,使用PETSCII和自定义图形符号进行渲染。
rust_pixel提供了一些核心功能:
- 游戏循环和模型/渲染设计模式
- 事件/计时器消息机制
- 支持文本渲染模式
- 统一的OpenGL绘图模式,支持SDL和WASM
- 3种核心OpenGL着色器用于SDL2和Web图形模式
- 一些常见的游戏算法
- 音频和日志支持
- 演示游戏:俄罗斯方块、塔防等
- 演示终端UI应用程序:调色板等
- 将核心算法包装成FFI和WASM的示例
该项目还包括一些工具,如调色板、字符编辑器、图像到PETSCII转换器等。它提供了一些游戏示例,如贪吃蛇、俄罗斯方块、扑克等,并展示了如何将Rust算法包装成FFI和WASM以供其他语言调用。
总的来说,rust_pixel是一个功能丰富的2D游戏引擎,提供了文本和图形渲染模式,并附带了一些有用的工具和演示游戏。
https://github.com/zipxing/rust_pixel
在Rust语言中使用phi3视觉技术进行推理时遇到的一些挑战
该帖子讨论了在Rust语言中使用phi3视觉技术进行推理时遇到的一些挑战。作者认为编写推理代码时需要编写的代码量太多,这让人感到困扰。
帖子中包含了一个名为merge_text_and_image_embeddings
的Rust函数代码,该函数将文本嵌入和图像特征进行合并,同时更新注意力掩码。这个函数的代码看起来相当复杂,需要大量的数组切片和赋值操作,这正反映了作者所说的"令人痛苦的代码"。
https://old.reddit.com/r/rust/comments/1fxyjzs/writing_inference_code_in_rust_often_involves/
Texted - 一个无需数据库的博客平台
Texted是一个无需数据库的博客平台,你可以使用Markdown或HTML来撰写文章。作者目前正在使用Texted运行他的两个博客 https://thiagocafe.com 和 https://blogaro.com.br
作者选择使用Texted的原因是,他经常需要处理不同格式和平台的内容,而要恢复或渲染/阅读这些内容并不简单。从依赖付费专有软件阅读Word文档,到难以导出Google文档和Wordpress博文,作者对这种混乱感到厌烦。更糟糕的是,有时候对这些文档的一个小小修改(有时是无心之失)就会导致它们无法恢复。
因此,Texted这种基于纯文本的博客系统可以很好地解决上述问题,作者无需担心内容的丢失或格式兼容性问题。
https://old.reddit.com/r/rust/comments/1fxnohe/texted_databaseless_blogging_platform/
编程语言在易用性和性能之间的二元性
本文讨论了编程语言在可用性和性能之间的二元性,以及如何解决这种二元性。文章分析了尝试在单一语言中集成高级和低级功能的方法,比如C#、D语言和Python等。但作者认为,这种方法无法真正解决性能问题,因为高级语言默认的垃圾回收和指针密集的对象模型会限制性能上限。
作者认为Rust语言可能无意中解决了这个二元性。Rust没有需要选择退出的重运行时特性,在整个语言中使用统一的对象模型。Rust提供了内存安全性,同时也具备诸如代数数据类型、泛型等现代编程语言的基本便利特性。Rust社区还致力于为系统程序员提供良好的开发体验。
因此,Rust在性能上存在一个连续的光谱,从高级的Sloppy Rust到低级的DoD Rust和Crazy Rust,涵盖了从开发便利性到极致性能优化的各个层次。这种统一的对象模型确保了在性能光谱的不同层次之间流动无阻,不会产生性能税。Rust还允许专家用不安全的抽象包装优化代码,供非专家使用。最重要的是,Rust在开发之初就为未来的性能需求买了一份保险,可以在不进行全面重写的情况下渐进式地优化性能。
https://matklad.github.io/2024/10/06/ousterhouts-dichotomy.html
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论