精选分类

文章列表

3.1k 3 分钟

# 前言 这应该算是第一次正式使用 Mac 系统 —— 如果不算早在当年大学时候,往自己笔记本上装『黑苹果』的经历的话,那会其实也因为软件生态、黑苹果兼容性问题,仅仅只是简单试用了一番罢了。 说来,当年大学时倒是三天两头把自己笔记本的系统重装掉:双系统、三系统都搞过,不知为啥,反而工作之后,不再想折腾了。 所以,对于 Mac 本身,我自己当然不可能主动体验,一是没必要,二是 Mac 本身对个人来说还是太奢侈了... 只是最近换了工作之后,新公司竟然直接就是 Mac 作为开发机,也算是体验了一把。 回溯到以前使用 Linux 系统的时代:大学时候?早已快 10...
4.9k 4 分钟

# 前言 最近一直在忙着在新公司项目的事,从 0 到 1 设计,也是挺考验脑袋的,而且各种有用的技术都想着能不能有所帮助,然后用一用,感觉能写的还是不少,但又似乎感觉没有可成文的深入 (时间) 程度。 不过好像也都有段时间没写点成文的文章了,趁周末稍微整理下 JobSystem 的东西记一记吧 —— ECS 直接用到项目可能存在能不能把握住的问题,现在也不大敢用,JobSystem 这东西后面倒是可以整一整。 而且单独用似乎也挺简单的,用到重要的地方也不会对架构本身产生过大影响 (不像 GPU Driven 类的优化,ComputeShader 还要担心可能存在的兼容性问题)。 # 基础 #...
8.2k 7 分钟

# 前言 本篇笔记从原书第二部分开始,到第三部分第十四章重载运算与类型转换结束,不过对于 第八章 (IO 库)、第九章 (顺序容器)、第十一章 (关联容器) 基本略过。 因为这几章个人也只是粗略翻过,考虑到就算 UE5 里边,容器算法这些估计也都是全套 UE 系列自定义的模板,所以对于标准库提供的感觉目前大概了解下、有个印象就行了。 同理,第十章泛型算法也是如此,不过还是记录了部分思想。 本来之前还计划国庆节把这本书看完,结果因为国庆身体中招了,加上研究了下其它 (UE5 C++ 及其动画、AI 等),国庆后又忙于工作交接,导致现在其实也还剩了三分之一,因此觉得还是分一下阶段比较好......
2.6k 2 分钟

# 前言 国庆将虚幻 5 C++ 基础又研究了一通,今天是最后一天了。 本来是想找找 Lyra C++ 相关东西看看有没有比较好的教程的,结果搜到一个虚幻官方很早以前就发的一个 Lyra 动画系统的直播介绍视频,看了下介绍似乎还不错。 特别是提到适用于不同情况下的动画 Retarging 操作,感觉正缺点这方面的知识。 于是今天就花了一天跟着看了一遍,操作了一遍,在此记录一下。 # 情况一 同样的骨架资源 同样的参考姿势 (基础骨骼和层级) 同样的比例参数:例如角色高矮相同 不需要重定向,可直接应用动画播放 # 情况二 同样的骨架资源 同样的参考姿势...
9.4k 9 分钟

# 前言 本篇笔记主要包含原书第一部分,第一章~第七章,从变量定义到类结束。 这次仔细从头开始看,包括最基础的语法都给重新过了一遍,虽然可能看得稍微有点快,而且做不到看完就熟稔了,不过至少重点记录了笔记,后续翻看一下,总能回忆不少印象。 说实话的话,补完这几章,再去看 UE 的 C++ 代码的时候,看起来就感觉更轻松些了 —— 毕竟理论知识确实是基础,自然比全然不知道的情况下去总结经验来得强。 这本书还是有点厚,不知道这次国庆节抽出的时间看不看得完。 像编译器一样来思考和理解 C++ 本书主要为 C++11 标准 # 第一章...
7.6k 7 分钟

# 前言 说实话,关于正经游戏模式的书还是有点少,这本算是少数中的其中之一。 整本书看下来,发现书里并没有按照类似常规 “23 种设计模式” 这种概念来讲述,有不少其实都不存在于常规设计模式当中: 比如双缓冲、空间分区、脏标记等... 确实跟书名更符一点,讲的是 “游戏编程模式”,而不是单纯的设计模式。 不过,要说是是游戏程序设计方面的书籍,本书肯定是算的。总之值得一看。 # 介绍 设计模式相关的书籍,主要是为了做到如何更好组织程序 编写超出大脑思考范围的程序,需要更好的设计与组织。 宝藏埋在代码深处,而许多人正在它们之上路过。 作者将其描述的模式分为:序列型、行为型、解藕型、优化型 #...
8.4k 8 分钟

# 前言 前几天 Unity 公布了新的 收费政策,然后整个开发者社区都沸腾了,处处都是 讨论的声音,不管最后实际生效政策如何 (2023.9.18 官方似乎更新了公告,说会对『运行费』政策进行修改),这种杀鸡取卵的行为必然都会造成以后开发选择的考虑点。 之前本来还打算专一 Unity 的,比如前些日子都还一直在研究 HDRP,算是基本把 HDRP 物理光照、各种调参熟悉得七七八八了,结果就听到这么个消息... 简直是... 如果真的实施,人家独立开发只怕都会把这个作为一个很大比例权重考虑进去了,毕竟哪个游戏开发者没有想做个好玩 (爆款) 的大作的梦想呢? 之前一直都关注 UE,比如 UE...
11k 10 分钟

# 前言 本文包含原书第七章至第十五章,也就是本书最后一部分。 主要为对象资源释放、线程局部存储、托管指针、ref 类型、非托管类型、非托管约束、 Span<T> 、 Memory<T> 、Unsafe 类、面向数据设计 等高级主题。 这是本书的最后一份笔记,没想到整体看完这本书花了 2 月有余... 说来惭愧,这两个月花了太多时间在其它东西上去了:玩游戏,比如最近的蔚蓝档案、或者在家看 HDRP 相关的教程。 虽然除了玩游戏也不能说全无相关,但确实是这次没有专心看书了,导致时间线被严重拉长 ——...
6.9k 6 分钟

# 前言 本文包含原书第七章至第十一章,主要为 .NET 垃圾回收过程的详细描述 # 第七章 垃圾回收 - 简介 # 高层视图 .NET GC 的两种模式: 工作站模式:最大限度减少 GC 引入的延迟,GC 频率更高 非并发:GC 时应用程序所有托管线程都挂起 服务器模式:最大限度提高应用程序的吞吐量,GC 频率更低 并发:GC 的某些部分在托管现在还在工作时执行 # GC 过程示例 垃圾回收是在特定代的上下文中发生,该代称为被判决的代。 可决定同时回收比当前被判决代更小的代 # 第 0 代被判决的垃圾回收: 仅检查第 0 代中对象的可达性 第 0 代变为空...
5.7k 5 分钟

# 前言 本篇包含原书第五章和第六章,主要讲了 .NET 内存分区和内存分配方式 小对象通过指针快速分配 (多数情况下) 大对象通过空闲列表分配 (因此最好避免) 并提出了一些优化方式:避免分配,包括显式和隐式分配等 # 第五章 内存分区 # 分区策略 总体上有: 大小 生存期 可变性 类型 种类 简单来说,.NET 根据『大小』和『生存期』作为分区策略。 # 按大小分区 .NET 根据大小处理不同对象,分为两类: 小对象堆 (SOH):所有小于 85000 字节的对象在此分区创建 大对象堆 (LOH):所有大于或等于 85000 字节的对象在此创建 区别在于,默认情况下小对象堆在...