轻松实现高性能

借助Unity全新高性能多线程式数据导向型技术堆栈(DOTS),充分利用当今的多核处理器。游戏的运行速度会变得更快,其他项目也更容易读取和重复使用您的代码。

重建Unity的核心

我们正在使用高性能多线程式数据导向型技术堆栈重建Unity的核心基础。使用DOTS,您的游戏可充分利用最新的多核处理器,无需进行繁重的编程工作。DOTS包含以下功能:

  • C#任务系统,用于高效运行多线程代码。
  • 实体组件系统 (ECS),用于默认编写高性能代码。
  • Burst编译器,用于生成高度优化的本地代码。

这些DOTS功能为程序员提供了便捷的沙箱,支持他们编写可显著提升性能的多线程代码。DOTS目前仅支持预览版。

DOTS的多线程系统支持您创建可在各种硬件上运行的游戏,构建元素更多和模拟更复杂的丰富的游戏世界,甚至能优化玩家移动设备上的热控制和电池寿命。通过从面向对象的设计转向面向数据的设计,您可以更轻松地重用代码,其他人也能更轻松地理解和处理代码。

 

C# 任务系统

新的 C# 任务系统可以利用当下计算机中的多个核心。其旨在为 C# 用户脚本开辟此方法,既支持用户编写安全、迅速、作业化的代码,又能预防多线程的一些缺陷,例如竞态条件。

利用多个核心

C# 任务系统公开了原生 C++ 任务系统,允许 C# 脚本与 Unity 内部组件一起实现作业化。

安全的环境

预防多线程的一些缺陷,例如竞态条件。

实体组件系统 (ECS)

更好的游戏设计方式

ECS 是编写代码的一种方式,着眼于您在解决的实际问题:组成游戏的数据和行为。

使用 ECS 不仅能让您在设计方面实现更好的游戏编程,还能让您占据利用 Unity C# 任务系统和 Burst Compiler 的有利地位,助力您充分利用当下的多核处理器。

借助 ECS,我们可以从对象导向型设计转向数据导向型设计,这表示再利用代码会变得更加容易,其他人也更容易掌握并优化它。

Burst编译器

优化后的代码

全新的以LLVM为基础的后端编译技术,使用C#任务并制作高度优化的机器码

在各平台的最好发挥

针对您正在编译的平台的特定功能进行了优化。

更少的手动编程

无需繁琐的工作,拥有手动调整的跨平台汇编程序代码的许多优点。

发布Megacity演示

在Unite Los Angeles上,我们展示了Megacity演示,以着重介绍我们在ECS基础套件和Burst编译器方面取得的进展。 基于在Unite Austin 2017上展示的Nordeus演示的经验,我们的游戏代码团队与FPS示例团队联手创造了一个充满未来感的城市景观 - 其中包括飞行器、数十个细节极为精致的游戏对象以及独特的音频源,以展现使用Unity 2019.1中的DOTS可实现的效果。

事实上,Megacity拥有450万个网格渲染器、20万个独特的构建对象、10万条独特的音频源以及5000辆在基于样条线的行车道上飞行的动态车辆。 了解如何利用Unity的“默认性能”创造充满复杂对象和模拟的绚烂游戏世界。

点击此处详细了解该项目的创建方法并下载项目

 

 

在Unite Austin上的技术演示

在实体组件系统预发布会上,我们与来自Nordeus的朋友们一起制作了一个技术演示视频并在Unite Austin上进行了展示。

您可在Github上找到该视频的缩减版。 我们主要致力于为您提供采用最新实体组件系统的最新版本,并为纹理驱动型顶点动画提供功能多样的着色器。 该版本在图形方面与在Unite Austin上演示的版本不同。

您可以在此找到Nordeus演示制作的大致过程

 

了解Tic Toc Games如何在移动端解谜游戏中使用实体组件系统 (ECS)

Tic Toc Games最近在其移动解密引擎中部署了Unity的实体组件系统 (ECS),此举极大提升了性能、缩短了迭代时间。在洛杉矶Unite大会期间,他们举行了名为“我们重视性能”的会议,会上,Tic Toc的Garth Smith介绍了他们如何使用ECS提升迭代速度,并分享了他们在学习和使用Unity ECS工具包方面的经验。

点击此处阅读完整的案例分析

还在等什么

现在就开始

查找关于如何入门或特定问题的信息?

转至文档

学习与分享

有关如何使用DOTS大规模编写系统来实现学习和分享的示例库。

ECS视频教程简介
奥斯汀Unite大会技术演示
实体组件系统示例

加入讨论

在社区论坛上加入我们的开发者群体,提供有关试用版和测试预览的反馈,并相互交流。

加入论坛

我们使用 Cookie 来确保为您提供网站的最佳体验。有关更多信息,请访问我们的 Cookie 政策页面

明白了