《2019年Unity DOTS-高性能开发技术.pdf》由会员分享,可在线阅读,更多相关《2019年Unity DOTS-高性能开发技术.pdf(29页珍藏版)》请在三个皮匠报告上搜索。
1、.NET Core 2019China.NET Conf 2019Unity DOTS:高性能C#开发技术大中华区教育技术总监议程2什么是 Unity?什么是 Unity DOTS?Unity DOTS 精彩案例China.NET Conf 2019什么是 Unity?3Unity 是应用最广泛的实时 3D 内容开发平台一次构建,随地部署超过 25 个业界领先的发布平台支持China.NET Conf 2019什么是 Unity?4内容创作者需要什么样的开发语言?orChina.NET Conf 2019内容创作者需要什么样的开发语言,C+or C#?5实现特点:性能的准确性跨平台架构特性不错
2、的迭代循环安全性China.NET Conf 2019内容创作者需要什么样的开发语言,C+or C#?6实现特点:性能的准确性跨平台架构特性不错的迭代循环安全性C#是非常自然的选择:C#有很好的 IDE微软 Roslyn C#编译器中间语言修改经验丰富使用 C#能避免 C+问题China.NET Conf 2019Unity 非常适合.NET 开发者7无缝使用 C#API:C#7.NET 4.7.NET Standard 2.0IL2CPP/Mono 代码调试.NET 中现代 SSL/TLS 支持优化构建大小China.NET Conf 2019Unity 非常适合.NET 开发者8多款脚本开
3、发工具支持China.NET Conf 2019什么是 Unity DOTS?9面向数据技术栈Data-Oriented Tech Stack(DOTS)C#Job System|实体组件系统(ECS)|Burst 编译器Your App or GamePackagesaaECSJobJobJobJobJobJobJob Scheduler&RuntimeNative ContainersUnity RuntimeBurstCompilerChina.NET Conf 2019C#Job System10面向对象设计Object-Oriented Design类(Classes)继承(Inhe
4、ritance)封装(Encapsulation)多态(Polymorphism)接口(Interfaces)China.NET Conf 2019C#Job System11面向对象设计Object-Oriented Design类(Classes)数据+行为继承(Inheritance)类可以扩展或覆盖其它类封装(Encapsulation)多态(Polymorphism)接口(Interfaces)China.NET Conf 2019C#Job System12Unity OOD:AngryBots包含多个MonoBehaviour数据/处理耦合很大程度上取决于引用类型Transfor
5、mRendererRigidbodyColliderBulletApplyDamage.csSomeBehavior.csSomeBehavior.csTransformRendererRigidbodyColliderAnimatorPlayerHealth.csMovement.csShoot.csSomeBehavior.csSomeBehavior.csChina.NET Conf 2019C#Job System13“经典”的问题数据零散从内存加载到缓存非常慢DataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDat
6、aDataDataDataDataDataDataDataDataDataDataDataDataDataDataTransformRendererTransformRendererRigidbodyRigidbodyBehaviorBehaviorBehaviorBehaviorGame ObjectGame ObjectMemory(Simplified)China.NET Conf 2019C#Job System14“经典”的问题提供许多额外数据需要清理串行一次仅能做一个处理speed :Floattransform:TransformSomeMoveScriptup :Vector3