摘要: 字符串和文本 字符串和文本的处理不当是 Unity 项目中性能问题的常见原因。在 C# 中,所有字符串均不可变。对字符串的任何操作均会导致分配一个完整的新字符串。这种操作的代价相对比较高,而且在大型字符串上、大型数据集上或紧凑循环中执行时,接连不断的重复的字符串可能发展成性能问题。 此外,由于 N 阅读全文
posted @ 2024-04-25 16:55 Flamesky 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 与 CPU 渲染相比,GPU 实例化可带来巨大的性能提升。如果希望粒子系统渲染__网格__粒子(而不是使用渲染__公告牌__粒子的默认渲染模式),则可使用实例化功能。 为了能够对粒子系统使用 GPU 实例化,请执行以下操作: 将粒子系统的渲染器模式设置为 Mesh 对支持 GPU 实例化的渲染器材质 阅读全文
posted @ 2024-04-19 18:15 Flamesky 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 了解托管堆 许多 Unity 开发者面临的另一个常见问题是托管堆的意外扩展。在 Unity 中,托管堆的扩展比收缩容易得多。此外,Unity 的垃圾收集策略往往会使内存碎片化,因此可能阻止大型堆的收缩。 托管堆的工作原理及其扩展原因 “托管堆”是由项目脚本运行时(Mono 或 IL2CPP)的内存管 阅读全文
posted @ 2024-04-18 16:42 Flamesky 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 实际项目中发现的许多问题都是源自无心之过:临时的“测试”更改和疲惫不堪的开发人员的误点击可能会暗地里添加性能不良的资源或更改现有资源的导入设置。 对于任何大规模的项目,最好是将防止人为错误作为第一道防线。编写一小段代码来禁止将 4K 未压缩纹理添加到项目中,是相对简单的事情。 但是,这种错误操作却是 阅读全文
posted @ 2024-04-18 11:12 Flamesky 阅读(28) 评论(0) 推荐(0) 编辑
摘要: ET7已经满足90%的项目需求,没必要追新,除非客户端逻辑非常耗cpu,需要网络0GC,需要多线程支持(比如帧同步需要逻辑层单独放一个线程),服务端内部消息量过大或者需要减少总内存占用,才考虑使用ET8。ET8的课程明天开始录,主要讲解ET8多线程设计的各种思考,开发过程中的各种设计的权衡,et8相 阅读全文
posted @ 2024-04-16 20:13 Flamesky 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 1. 选中任务,选择配置/构建触发器,选择定时构建 2. 填写定时器参数,格式说明如下,共五个参数,参数之间空格隔开,不需要填的直接*号即可。 此处d定时任务的格式遵循 cron 的语法(可以与 cron 的语法有轻微的差异)。具体格式,每行包含5个字段,依次为分钟、小时、日、月、星期几,并通过 T 阅读全文
posted @ 2024-04-03 11:29 Flamesky 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 《英雄传说》是一个基于ET8.1的双端C#(Client-Unity3D, Server: .Net8)开发的在线联网多人竞技游戏。 当前文章主要做此Demo的技术分解,主要是战斗系统跟状态同步的技术分享,大伙有想法的欢迎评论区讨论,后续会逐步迭代分享写完: (一)鲁班配置表方案集成与使用 (二)Y 阅读全文
posted @ 2024-04-01 19:46 Flamesky 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 此系列文章逐个内容讲解ET8.1的新特性。 ET8.1 发布,带来以下新特性: 1. 多线程多进程架构,架构更加灵活强大,多线程设计详细内容请看多线程设计课程 2. 抽象出纤程(Fiber)的概念,类似erlang的进程,非常轻松的创建多个纤程,利用多核,仍然是单线程开发的体验 3. 纤程调度: 主 阅读全文
posted @ 2024-04-01 15:29 Flamesky 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 今天查看Unity 2022.3.20f1更新日志,发现新增了个异步实例化的功能,这个功能解决了Unity历史上实例化预制体卡顿的痛点,简直不要太爽。 具体的API文档请点击跳转。 做了个简单的实例化测试,实例化500*500个Cube,耗时9.2s。实例化过程之间不会卡顿,可以做其他事情,即便是在 阅读全文
posted @ 2024-02-18 16:44 Flamesky 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 问题描述当进行仓库pull或者push时,报错如下(连接失败/被拒绝/超时等): Failed to connect to github.com port 443: Connection refused 尝试过关闭代理重开,重装git,关闭防火墙都无法解决,最后下面的方法解决了。 解决方法如下:方法 阅读全文
posted @ 2024-01-24 10:29 Flamesky 阅读(120) 评论(0) 推荐(0) 编辑