GDC 2017 技术选荐合辑

上一次参加 GDC 是在七年前。有趣的是,2010 那年,John Carmack 获得了终生成就奖 (Lifetime Achievement Award);而 2017 年的 GDC 上,获得这个奖项的是 Tim Sweeney。这是两位真正的行业传奇。他们的代码,令我满心钦佩且受教良多。

这一篇快速记录中,我粗粗地整理了一下自己听过的演讲,并把那些觉得很有收获的标注了一下。还有不少演讲是因为分身乏术错过的,这里也一并记了,这样晚些时候可以到 GDC Vault 里去听回放。

Unity GC Cheatsheet

关于 Unity 的垃圾回收 (GC) 你可能已经看到不少的文章讨论了。下面是一个极简形式的 Cheatsheet,希望能在最小的篇幅内尽可能全面地列出关于 GC 你需要注意的事项。

Unity GC Cheatsheet

a01. struct Foo 在栈上,但 struct Foo[] 分配在堆上

a02. GetType() 会产生 GC Alloc (每个调用 20 Bytes)

a03. delegate 的创建时 (赋值 = 或以参数传递) 在堆上分配 (如将方法做为参数传入)

a04. delegate 尽量使用 =,避免无意的 += 导致 Invocation......

《王朝的家底》 记录 (1)

[按] 此文内容摘自《王朝的家底》第一篇:三千年的粮仓保卫战。标题和其他非原文部分为笔记,文内不再另行区分。

《王朝的家底》第一篇:三千年的粮仓保卫战

从狗尾巴草说起

狗尾巴草是(中国古代一种重要农作物)粟(谷子,小米粥)的祖本植物。狗尾巴草是粟的野生种,也叫“莠”(二者刚长出的幼苗很难区分,所以有“良莠不分”的说法)

粟(谷子),黍(黄米)和菽(大豆),读音相近,最重要的共同点是耐旱耐贫瘠,是先秦时期最重要的农作物。他们生长期短,适合北方旱地,......

Unity MemoryProfiler 的工作机制及可能的改进

Unity 的开源内存分析工具 MemoryProfiler 非常有用,可以提供所有由 Unity 分配的 C++ 对象的内存信息,在该工具内被称为 NativeUnityEngineObject (Native-only Mode)。当 C# 脚本经由 il2cpp 编译为 C++ 时,此工具可以提供额外的所有 C# 对象的信息,在该工具内被称为 ManagedObject (Full Mode)。

本文简单地描述了该工具的工作机制,并探讨了一下基于该工具的一些可能的改进。

工作机制

这个工具中所能提供的所有的内存数据均来源于一个 Unity API:

UnityEditor.Memo......

游戏引擎技术点滴

[按] 在上个月 [2016-12-17] 的 2016 金山技术开放日上,俺做了一个游戏引擎相关的分享。结束之后,俺断断续续地在零碎时间里把分享的内容整理了一下,为每张幻灯片配上了简单的文字注解,就形成了这篇小结。

参与了现场交流的同学可能会发现,这篇文字版跟现场版相比,虽然幻灯片保持原状,但文字注解部分略有出入 (增加的内容主要是第二部分“评估,运用和改造”,这一部分在现场时因为时......

知识共享许可协议
本作品由Gu Lu创作,采用知识共享Attribution-NonCommercial-NoDerivatives 4.0 国际许可协议进行许可。