(一)ECS:这是什么鬼?

有了解的知道ECS出名是因为《屁股》的火爆,在Unite大会上介绍了他们使用了ECS框架。

不同于传统的OOP编程思想,ECS不强调继承而是强调功能模块的组合。

上个图爽爽眼:

这个最主要还是变成了一种数据驱动的设计。变得更加单纯纯粹。往上面的这种概念上的介绍好多多的。让我们看看官方怎么介绍的——》官方ECS介绍网页。请自行跳转学习。

所以说下来就是:高性能,大场景,大数量,低延迟,多处理?。所以一句话下来就是:轻松并且牛逼着。

事实当然确实如此了 Intel 官网都有专门的说明——》Intel的ECS原理介绍。也有好多中文的博文,再此不赘述了

当然网上说最早的ECS框架写游戏的都可以追溯到上个世纪的事情了?,当时太小都还尿床呢。

当然要清楚ECS并不一定会用在游戏上哦。

这是官方放在Github上的ECS框架代码——》地址

现在unity2018.3中添加ECS只需要打开Windows菜单按钮下的Packages然后点击安装就可以了,可能网络要读取需要时间

安装成功之后就可以在项目工程中Packages中看到:

现在添加ECS框架要简单傻瓜多了。

什么是DOD

Unity实际上在做的大计划,是一个在程序届流行了一阵子,最近越来越火的概念DOD (Data Oriented Design) 即 面向数据设计. 他是与我们所熟知的OOD (Object Oriented Design) 即面向对象设计相对的概念. 

ECS

实例组件系统,是编程思想的改变,从基于对象的运作,改变为"流水线式运作"(我自己的比喻).虽然显然破坏了"程序对现实的模拟"这样美好的愿望,但是却大大的增强了解耦性,可测性,扩展性.并且天然是以下要描述的几个组件的好伙伴~

Job System

Job System是Unity对CPU多核编程的应用.通过把工作分散到CPU的各个核心上来大大提升运行效率.而ECS跟他之间的搭配则是由于ECS的System部分天然是以批量处理为核心的,因此只要稍加改动,就可以转变为批量的分Job交到多核去处理.实现性能的提升.

HPC#

HPC#(High Perform C#)是Unity开发的一个C#子集,通过抛弃对象,指针,等高级特性,从语言层面加速性能. 截图里没有直接列出这个,但是NativeContainer是HPC#的一环. 而由于ECS本身的去对象化,可见又是天然的好伙伴.

Burst Compiler

这又是Unity自己开发的,一个全新的快速编译器,最重要的是由于不用考虑通用性,仅仅针对Unity,针对游戏,再配合HPC#, 使得性能有了更大的提升.由于牵扯到编译器层面,这个部分我的理解是最薄弱的,如有错误敬请指正.

ECS入门

我建议首先不要考虑Unity, 而是先单纯对ECS有一个基本的学习,首推这两篇文章:
http://blog.lmorchard.com/2013/11/27/entity-component-system/
他的图很形象,脱离代码,给你一个最基本的认识
然后是https://www.richardlord.net/blog/ecs/what-is-an-entity-framework.html
结合游戏引擎的实际需要,更为详细的介绍.

 

继续了解ECS的可以看一下提供的几个网址链接,他们都写得不错:

云风的Blog时间有点久只是作为了解,现在还是有一些变动的(其实我也说不上来):网页传送门

unity2016大会的视频介绍 一切罪恶的开始:视频传送门(YouTube)

CSDN文章一:网页传送门

CSDN文章二,不建议看这个的代码部分:网页传送门

知乎各路大声的讨论:网页传送门

等等吧网上有很多的概念介绍,这些概念我也没必要重新说一遍。这个和很多人的面向对象编程思路排斥。面向对象很重要但是不应该是唯一,这样也确实提供能面向对象无法提供的实现的功能,现在只能说各有利弊,并且ECS用在现有的游戏项目中弊要大于利。?

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECS是Elastic Compute Service的缩写,是阿里云提供的一种云计算服务。它是一种弹性计算服务,可以帮助用户快速部署和管理云服务器资源。 ECS的产生背景是随着云计算技术的发展,越来越多的企业和个人需要在云端部署应用程序和存储数据。传统的物理服务器部署方式存在一些问题,如硬件维护、资源浪费和部署周期长等。ECS的出现解决了这些问题,提供了快速、灵活和可扩展的计算资源。 ECS的优势主要体现在以下几个方面: 1. 弹性灵活:用户可以根据自己的需求快速创建、释放和扩展云服务器实例,实现按需计算。 2. 按量付费:用户只需根据实际使用的计算资源付费,避免了固定成本和资源浪费。 3. 可靠性高:ECS提供了高可用性和故障转移功能,确保用户的应用程序在出现故障时仍能正常运行。 4. 安全可靠:ECS提供了多层安全防护措施,包括网络安全、数据安全和系统安全等,保障用户的数据和应用的安全。 5. 易于管理:ECS提供了丰富的管理工具和API接口,用户可以方便地管理和监控云服务器实例。 6. 全球部署:ECS在全球各地都有数据中心,用户可以选择离自己用户最近的数据中心进行部署,提供更好的网络延迟和性能。 总之,ECS作为一种弹性计算服务,为用户提供了灵活、可靠和高效的云计算资源,帮助用户降低成本、提高效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值