Unity3d Unity DOTS对普通游戏有多大好处?

Unity3d Unity DOTS对普通游戏有多大好处?,unity3d,entity-component-system,unity-dots,Unity3d,Entity Component System,Unity Dots,我知道DOTS和ECS的巨大好处可以在游戏中包含许多包含相同数据的对象时看到,这样它们就可以放在内存块中,并且可以轻松地进行迭代 我的问题是:我在做一个普通的游戏,它不包含数千个包含相同数据的对象,恰恰相反:有很多对象包含不同的数据和行为。使用圆点是否仍然有益 我知道在记忆方面,它是有益的,因为只有有用的东西才能发挥作用,但在点(数千个类似的物体)的巨大好处不存在的情况下,我应该如何决定使用它或不使用它呢?Unity's有这样一句话来说明在这个时候使用点的好处: 除非您立即寻求在短期或中期内提高

我知道DOTS和ECS的巨大好处可以在游戏中包含许多包含相同数据的对象时看到,这样它们就可以放在内存块中,并且可以轻松地进行迭代

我的问题是:我在做一个普通的游戏,它不包含数千个包含相同数据的对象,恰恰相反:有很多对象包含不同的数据和行为。使用圆点是否仍然有益

我知道在记忆方面,它是有益的,因为只有有用的东西才能发挥作用,但在点(数千个类似的物体)的巨大好处不存在的情况下,我应该如何决定使用它或不使用它呢?

Unity's有这样一句话来说明在这个时候使用点的好处:

除非您立即寻求在短期或中期内提高绩效,否则很难确定是否或何时转向DOTS

DOTS极有可能在几乎所有应用程序中提供一定程度的性能改进。这些领域包括性能、电池寿命、迭代和项目可伸缩性。迁移到DOTS不会导致任何性能下降,但评估迁移到DOTS的成本是至关重要的,尤其是对于仅获得微小改进的项目。 对于所有应用,DOTS都适用于处理大量数据,例如开放世界环境或使用大量相同材料的复杂结构。DOTS还适用于重复元素,通过跨实例共享公共数据来减少内存访问

重要的是要考虑到点将帮助你在未来发展高质量的内容,一个没有点的统一可能会难以实现。例如,今天的标准游戏和团结项目是过去的AAA游戏。为了在未来保持竞争力,您需要采用DOTS

对于不同的垂直方向,点可以适用于不同的解决方案:

对于AEC应用程序:
  • DOTS适用于处理大型数据集并确保内容的可伸缩性

    • DOTS非常适合于具有大量模型和重复内容(如建筑物和道路)的大型交互式地图和环境

    • DOTS适用于大规模模拟真实word环境的复杂工程可视化。例如,粒度规模的工厂和基础设施设计是DOTS的理想选择

对于汽车应用:
  • 自动驾驶的仿真与可视化

    • DOTS是大型交通和行人模拟的完美之选,这些模拟需要数千个捐赠代理以真实的方式移动和交互
对于游戏独立开发者和自由职业者:
  • DOTS可以帮助您卸载游戏中一些昂贵的操作,并有助于提高性能,尤其是对于重复性过程

  • 许多轻量级游戏,比如手机游戏,都无法实现硬件性能的最大化。即使对那些这样做的人来说,这也可能不是主要问题。然而,随着游戏的不断发展和硬件需求的增加,为将来使用DOTS做准备是明智的。同样,ProjectTiny提供了一个使用DOTS开发小型应用程序和游戏的解决方案

  • 如果您可能不需要立即开始使用DOTS,那么最好提前使用DOTS并提高自己的技能,以便在DOTS成为Unity development中的标准实践时做好准备

游戏工作室:
  • 当前格式的圆点可以帮助您开始达到以前无法达到的规模和性能,无论是在统一还是其他方面。特别是,延长电池寿命和热控制以及DOTS提供的代码可重用性是关键优势。这些领域的扩展性能还允许您开发更多低端设备,特别是在西方市场以外,这些设备在其他方面有限制性的硬件限制

  • 让研发团队开始在DOTS中工作将有助于您开始了解未来可以采取的最佳方法,并告知您当前的特性和领域,这些特性和领域将带来最大的性能优势和开发影响。 DOTS的目标并不是取代引擎团队的角色,而是让工程师在自己的专业领域(如阴影或着色器)进行创新

所以基本上,Unity声称现在采用DOTS有以下几点:

  • 在性能方面,您不会有任何损失(尽管有些事情可能需要比其他事情更大的努力来实现)

  • 即使您不控制“许多”对象,点在执行重复操作时也会更有效,这在考虑低端硬件或资源(如电池使用)时会产生有意义的变化

  • 除了现在采用DOTS带来的物质利益外,它还为人们或组织提供了一种教育体验,以便在物质利益更大的时候在以后的项目中使用它