Flecs 发布 3.2 版本,轻量级实体组件系统
Flecs 是用于 C 和 C++ 的实体组件系统,有助于构建游戏等模拟场景。
Flecs 现已发布 3.2 版本,此版本具有多项新的功能,下面介绍其中部分功能:
发布亮点
关系性平铺 Relationship flattening
Flecs 3.2 扩展了实体关系可以与关系扁平化一起使用的用例!此功能将具有不同父级的实体存储在同一个表中,可以显着减少内存碎片。现有系统无需更新即可支持关系扁平化,广度优先排序和关系遍历等功能仍然有效!展平表中的实体仍然可以以完全支持(自动)矢量化的 CPU 缓存友好方式进行迭代。
这是一个实验性功能,将来会有很多改进。
flattening 后,这个场景的桌子数从46000张减少到960张。
新的图形查询引擎
Flecs 3.2 包含一个完全从头开始编写的新规则引擎,比以前的引擎快 4 个数量级!新引擎获得许多改进,例如改进的运行时、用于图形遍历的记忆缓存、更好地利用新数据结构以及改进查询计划的生成。
Assemblies - 程序集
程序集是一项新功能,可以创建程序资产。程序集是 Flecs 脚本的一个片段,在执行时会根据多个输入参数生成实体和组件。程序集可以轻松组合成更大、更复杂的资产。
在新的交互式 Flecs Script 教程中学习如何编写程序集。
Opaque types - 不透明类型
Flecs 反射框架得到了扩展,能够序列化和反序列化不透明类型!不透明类型是一种布局不为反射框架所知的类型。这带来的一大好处是现在可以使用反射框架完全序列化和反序列化具有 STL 类型(例如 std::string
和 std::vector
)的组件!
World serialization
反射框架的另一项改进:现在可以从 JSON 序列化和反序列化整个 ECS 世界!这是一个非常受欢迎的功能,可以更轻松地保存和加载游戏状态。
Fuzzy Name Matching - 模糊名称匹配
新的规则引擎引入了对(模糊)实体名称匹配的支持!
核心性能改进
3.1.4 版本是 Flecs 自 v2.0 以来最大的性能改进之一。几乎所有 ECS 操作的速度都提高了两位数。
资源管理器中的 3D 画布
资源管理器有许多改进,其中包括一个新的 3D 画布小部件!这个小部件显示了 emscripten 画布的内容,而 REST API 的改进使资源管理器可以直接与 Web 应用程序通信!
这意味着现在可以编辑组件、更改 Flecs 脚本并实时查看结果,而无需编写任何 C/C++ 代码。
Flecs-hub 更新
flecs-hub 中的模块进行了一系列更新,从在 flecs-game 中添加时间系统和网格布局,到在 flecs-systems-sokol 中支持阴影、大气渲染、改进的光晕和着色器文件。 flecs-hub 的目标是提供常见游戏系统的示例实现,并探索如何在现实生活中使用新的 ECS 功能。
更新公告:https://ajmmertens.medium.com/flecs-3-2-is-out-8feb44d37e3

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Tailwind CSS v3.3 发布,支持 ESM/TS、丰富调色板颜色
Tailwind CSS v3.3 带来了大量的新内容,更新内容如下: 扩展的深色调色板:在 Tailwind CSS v3.3 中,为每一种颜色都增加了一个新的950色调,这是一种更加深的色调 ESM 和 TypeScript 支持:现在可以在 ESM 和 TypeScript 中配置 Tailwind CSS 用逻辑属性简化 RTL 支持:现在你可以使用逻辑属性来更容易和自动地完成大部分的样式设计,建立适应不同方向的布局。新的实用程序,如 ms-3和 me-3,可以为元素的开始和结束设置样式,以便样式自动适应 RTL。 微调渐变色的位置:增加了新的工具,如from-5%,via-35%和to-85%,让你调整渐变色中每个色块的实际位置,准确地指定位置。 开箱即用 Line-clamp:Tailwind 在两年前发布了官方的 line-clamp 插件,尽管它使用了一堆奇怪的废弃的-webkit-*的东西,但它在每个浏览器中都能正常运行,而且会一直运行下去,所以我们决定把它植入框架本身。因此,当你升级到 v3.3 时,如果你正在使用 line-clamp 插件,你可以安全地移除它。 ...
- 下一篇
Rustls 0.21.0 发布,内存安全的 TLS 实现
Rustls 是一个用 Rust 编写的现代 TLS 库,旨在成为一个内存安全的 OpenSSL 替代品;它使用ring进行加密,使用webpki进行证书验证。Rustls 旨在提供良好的加密安全级别,无需配置即可实现该安全性,并且不提供不安全的功能或过时的加密技术。 Rustls 0.21.0 现已发布,此版本有两个主要的新功能和许多其他改进。 第一个重要特性是一项期待已久的功能 —— 支持包含 IP 地址的 TLS 证书。Rustls 现在可用于设置通过 IP 而不是域名寻址的 TLS 连接。这对于 Kubernetes pod 这样经常使用 IP 地址而不是域名的东西很有用;对于 HTTPS/TLS 上的 DNS 也很有用,它需要服务器的 IP 地址以避免对名称解析的循环依赖。 第二大特性是支持RFC8446 C.4 客户端跟踪预防。这意味着被动网络观察者将不再能够将连接与 ticket reuse 相关联。 此外,公告还表示,Rustls 正收到来自ISRG 的大力投资。“我们的目标是使 Rustls 成为需要 TLS 支持的软件中最具吸引力的选择。” 目前,Rustls 开发...
相关文章
文章评论
共有0条评论来说两句吧...