关于 PivCo-Huffman 合并操作的技术评论与优化建议
这是一条针对 PivCo-Huffman 合并算法的技术评论。作者分享了自己实现类似合并循环的经验,并指出虽然结果相似,但未使用某些优化技巧。他提到一个具体的代码优化手段:通过展开循环来避免减法操作,从而提升性能。整体内容简短,侧重于个人工程实践和微优化技巧。
Fabian Giesen 的博客,著名图形程序员,关于图形学、游戏开发与底层编程的技术写作。
这是一条针对 PivCo-Huffman 合并算法的技术评论。作者分享了自己实现类似合并循环的经验,并指出虽然结果相似,但未使用某些优化技巧。他提到一个具体的代码优化手段:通过展开循环来避免减法操作,从而提升性能。整体内容简短,侧重于个人工程实践和微优化技巧。
Frgg Giesen 深入分析了 PivCo 与 Huffman 编码合并操作的底层逻辑。文章探讨了在特定数据压缩场景下,两种算法结合的工程实现细节与性能权衡,属于硬核技术探讨,适合对算法优化和底层原理感兴趣的开发者。
文章通过 Epic Games 的崩溃统计数据,确认了 Intel 13/14 代 CPU 桌面端存在的硬件故障根源。作者指出这并非罕见的解码器问题,而是更底层的硬件缺陷,解释了为何此前难以复现和定位。这一发现对受影响的硬件用户、开发者以及关注 Intel 产品质量的技术社区具有重要参考价值,提供了关于该重大硬件 Bug 的最新实证分析。
文章深入解析了 ASTC 纹理压缩格式中独特的整数序列编码(ISE)机制。作者指出,虽然大多数编码方案仅处理 2 的幂次范围,但 ISE 能够高效处理任意范围的均匀分布小整数。这对于 ASTC 在块内传输少量但非标准范围的参数至关重要,展示了其在特定工程场景下的优化取舍。
Unary codes 是通用变长编码的基础模块,常用于构建 Golomb、Rice 等更复杂的编码方案。本文介绍了一种简单的批量解码 unary codes 的方法,利用 SIMD 指令优化解码过程,提升处理效率。作者通过代码示例和性能对比,展示了该方法在视频解码等场景中的实际应用效果。
作者玩了30-40小时《见证者》后,认为它与传统解谜游戏完全不同。传统游戏侧重规则应用和心流,而《见证者》侧重规则发现和认知顿悟。作为前开发者,作者惊叹于游戏极高的整体一致性,没有任何工业化的拼凑痕迹。文章对比了《时空幻境》的叙事,强调《见证者》是关于认识论和视角的纯粹体验,而非简单的任务堆砌。
作者回忆在制作96k极限游戏.kkrieger时,为压缩体积开发了一个名为Lekktor的工具。该工具通过代码覆盖率分析,自动剔除未执行的路径并插入if(0)来精简C++源码。虽然成功将体积压入限制,但也导致部分从未触发的代码(如碰撞检测、菜单逻辑)被误删,引入了隐蔽Bug。这是一次高风险元编程实验的实战复盘。
这是 Fabian Giesen 著名的图形管线系列文章的索引页。作者指出市面上缺乏介于宏观概览和微观组件之间的中等粒度资料,因此撰写了这套基于 GPU 实际硬件实现(D3D/OpenGL)的深度解析。文章面向具备现代 3D API 经验和并行编程基础的图形程序员,详细列出了从软件栈、内存架构、顶点处理、光栅化到计算着色器等 13 个部分的目录。评论区显示…
作者强烈反对自愿使用“内容创作者”这一称呼,认为“内容”是分发方(平台/媒体)为了将创作物流化、去人格化而使用的术语。文章指出,这反映了现代数字创作中创作者主体性的丧失,将富有创造性的工作降格为单纯的物流和数据处理环节。
作者提出一个简化的机器模型,用数据流图来分析C++代码的性能瓶颈。通过数组求和与链表求和的对比,指出循环间的依赖关系(如指针递增)往往比单次内存访问延迟更决定吞吐量。文章强调建立定量性能模型比单纯跑微基准测试更重要,能帮助开发者在写代码前预判性能问题,而非事后补救。
文章通过一个生动的办公室档案管理的类比,解释了为什么CPU缓存要分为L1、L2、L3多级,而不是合并成一个巨大的缓存。核心逻辑在于物理限制和访问效率:L1缓存必须极小且私有,以保证极低的延迟和高带宽,就像办公桌触手可及;L2和L3虽然容量更大,但访问速度变慢,需要协调机制。如果合并成大缓存,物理距离增加会导致延迟上升,且多核共享时会因竞争资源产生严重的协调…