游戏性能优化
最近在Youtube上看到一个很不错的讲游戏性能优化的系列视频,花了几个小时学习了一下。作者从游戏性能优化的准则,优化的方向做了较为详细的介绍,以及介绍了性能分析工具的使用,并结合Unity和Unreal的示例场景来实际分析和优化游戏性能。由于视频时长限制,很多方面讲解的不是很深入,这里对视频里印象较深的部分做一些总结,同时也作为性能分析的一个学习资源笔记,后续有时间可以针对各个方面进行更深一步的探索。 游戏优化准则谁来优化? 游戏开发实际是策划,美术,程序等各个不同职能的人来共同完成的,那么对于游戏的优化而言,作者认为不是由某个人来完成,而是每个人都需要了解和参与。美术需要知道哪些能做,哪些不能做,哪些效果需要,哪些效果没那么重要。程序需要知道哪些可以做,哪些做不了,哪些可以做的更好。 游戏性能优化是一个非常大的课题,实际过程中不同的项目,由于美术资源,玩法,画面效果,以及设备平台的不同,甚至是引擎的不同,需要面对的优化问题可能都是不一样的,因此没有所谓的统一的优化方法,而是需要具体问题具体对待。 下面这句话是贯穿整个系列视频的指导准则 **先分析,再优化** 这句话听起来也...
学习资源汇总
日拱一卒,功不唐捐 学习资源汇总,持续更新中… 技术C++图形学 Physically Based Rendering:计算机图形学领域(尤其是光线追踪与基于物理的渲染方向)的经典教科书与实践指南,被誉为该领域的 “圣经” 之一,适合有一定的图形学开发经验的技术人员。(目前该书的电子版已经全部免费) Real Time Rendering 4th: 这是一本图形学的宝典,与其说是书,更像是图形学技术的技术目录。涵盖了现代渲染技术、图形编程原理和实时可视化技术等内容,从基本的数学基础到前沿游戏使用的高级技术都有涉及。目前还有中文翻译的资源。 博客 Arseny Kapoulkine: 前Roblox的图形学技术研究员,是pugixml,meshoptimizer,volk,等开源库的作者,会在个人博客和Youtube频道分享编程相关知识。 Jendrik Illner:现任Santa Monica Studio的高级渲染程序员,曾再EA担任渲染工程师,与寒霜引擎团队合作下一代渲染后端。专注于引擎设计、优化以及基于 GPU 的流水线技术。他整理的Weekly Newslet...
C++内存管理之std::alloc源码分析
书接上回。侯捷老师的教程里对G2.9的std::alloc的运行模式和源码都进行了非常精彩的讲解。虽然这个allocator的历史比较久了,但是其中的设计思想对于后续的内存分配还是有比较重要的参考意义。这里就老师课程中的内容做一些总结记录。 std::alloc的运作模式上图表示了std::alloc的运作模式示意图,std::alloc使用了一条16个元素大小的数组来管理链表,不同索引的元素管理不同大小的链表。其中#0链表记录的是最小的8个bytes的链表,而#15链表记录是最大的128bytes的链表,相邻的链表元素大小相差8bytes。这里需要注意的是:该链表仅维护分配128Bytes以内的内存块,大于128Bytes的则将直接使用malloc直接分配空间。 嵌入式指针这里每个细分的区块使用的嵌入式指针来节省内存的使用,每个被管理的自由区块头部使用嵌入式指针指向其他的链接的区块,而一旦区块被分配给用户,那么这段内存就可以直接被使用,因此不会造成内存的浪费。这种嵌入式指针的思想在很多的分配器中都有使用。 以下直接通过截取PPT内容来看下std::alloc的内存分配 1、在申...
C++内存管理
最近在学习侯捷老师的《C++内存管理》课程,对C++底层的内存管理机制有了更深的一些理解,这里记录一下主要的学习内容和相关问题。 C++程序里使用memory的多种方式如上图所示,C++有多种直接或者间接控制内存的方式,相关的总结如下:这里主要区分的是 new 和 operator new new是C++的表达式(expressions),也就是C++在编译的时候会将表达式展开为多行代码语句,因为是表达式,所以new不可以重载。 operator new是C++的函数,所以该函数是可以被重载的。 下图是C++的new expression的内部逻辑可以看到针对new expression,编译器实际在背后做了以下几件事: 首先通过operator new申请一块内存,内存大小根据complex类来定。 然后将申请的内存指针强制转换为目标类型指针,这里的是Complex*类型。 最后调用目标类型complex的构造函数构造对象。这里注意的是:通过pc->Complex::Complext(1,2)这种方式调用构造函数,只有编译器可以做,用户是不能这么做的。 与new表...
Hello Haony
欢迎来到我的自留地。 大学的时候尝试写过一些博客,那时候是在博客园写一些技术博客,把自己鼓捣折腾一些小玩意的教程分享在上面,那些分享也确实帮助到了一些人。但是后面忙其他事情的时候慢慢的博客也断更了。 现在工作已经四年多快五年了,对于工作的认知也从当初的懵懵懂懂到现在的有了些许体会。很多时候发现写点东西记录下来,比在脑海中去回想更加有实在的意义。于是我便搞了一个自己的博客网站,不光写写技术博客,更多的是记录自己的学习,思考和体验的过程。 这是本博客网站的第一篇,记录一下小小的起点。 -2025年9月16日晚

