Flecs —— 轻量级实体组件系统
Flecs 是用于 C 和 C++ 的轻量级实体组件系统,有助于构建游戏等模拟场景。
Flecs 从一开始就以便携性为设计理念。它不仅可以在所有主要平台上运行,项目还可以将它与不同的编程语言一起使用。
实体组件系统 (ECS) 是一种组织代码和数据的方式,可构建更大、更复杂且更易于扩展的游戏。一般来说,以下内容被称为 ECS:
- 具有唯一标识的游戏对象的实体
- 具有可以添加到实体的数据类型的组件
- 具有为匹配组件查询的所有实体运行的功能的系统
核心特性
- 快速且可移植的零依赖C99 API
- 不使用 STL 容器的现代类型安全 C++11 API
- 第一个完全支持实体关系的开源 ECS !
- 对层次结构和预制件的快速原生支持
- 不到 5 秒即可构建的代码库
- 无需使用 emscripten 修改即可在浏览器中运行
- 缓存友好的原型/SoA 存储,每帧可以处理数百万个实体
- 支持具有数百个组件的实体和具有数万个原型的应用程序
- 跨共享库/DLL 开箱即用的自动组件注册
- 使用查询编写免费函数或在系统中自动运行代码
- 使用快速无锁调度程序在多个 CPU 内核上运行游戏
- 在所有主要平台上的 8 个编译器上编译无警告,CI运行超过 5000 个测试
- 带有JSON 序列化器的集成反射框架和对运行时组件的支持
- 组件的单位注释
- 强大的查询语言,支持连接和继承
- 用于分析 ECS 性能的统计插件
- 用于监视和控制应用程序的基于 Web 的 UI

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
每日一博 | 微服务进入深水区后该何去何从
作者 | 罗广明 2022 年,关于微服务发生了几件有趣的事情。其一,正式掌管 Twitter 不久的 Elon Musk 对 Twitter 的开发团队 “批判” 了一番。他表示自己为 Twitter 在许多国家的极慢运行速度感到抱歉。之所以如此慢是因为 App 需要执行 1000 多个 “糟糕” 的批处理 RPC,而这只是为了渲染主页的时间线。Musk 表示 “今天的部分工作将是关闭臃肿的"微服务" 。实际上,只有不到 20% 的微服务是 Twitter 需要的。” 其二,GitHub 前 CTO Jason Warner 在社交媒体上表示:“我确信过去十年中,最大的架构错误之一就是全面使用微服务。” “任何构建过大型分布式系统的人都知道他们并不真的那样工作,但还必须适应它。”那么,微服务架构是否是一个错误,或者微服务是否已经过时了呢? 业务是否需要微服务 微服务的起源,最早可以追溯到 2005 年 Peter Rodgers 博士提出的 Micro-Web-Service,即将应用程序设计成细粒度的 Web 服务。2014 年,Martin Fowler 与 James Lewi...
- 下一篇
结束内斗,Google 和 DeepMind 瞄准 OpenAI
在 2014 年,Google 以 4 亿英镑的价格收购了 DeepMind。这使得 DeepMind 成为了 Google 旗下的一个子公司,但它仍然保持着相对独立的运作方式。这也意味着 DeepMind 能够获得 Google 的技术和资源支持,同时也可以开展自己的研究和探索。 DeepMind 开发的 AlphaGo 在 2016 年击败围棋名将李世石,也让 DeepMind 一举成名,成为了公认的 AI 行业领军企业。2020 年,DeepMind 开发的 AlphaFold 程序在 CASP13 比赛中表现出色,成功解决了许多生物学中的蛋白质折叠问题。 可能是 DeepMind 过于独立,虽然 Google 和 DeepMind 都是 AI 领域具有重要影响力的公司,它们在 AI 领域的研究和应用也都有着很高的成就,但两家公司并没有什么非常紧密的合作,DeepMind 只是提供一些技术来帮助 Google 改进产品和服务(比如:DeepMind 在 2016 年帮助 Google 优化了数据中心的能源消耗和效率,提高了 Google 的可持续性),在某种程度上他们之间更多是竞...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程