<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[PerfumerKarma的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/PerfumerKarma</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; PerfumerKarma]]></copyright><item><title><![CDATA[claude如何做的]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/156692956</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/156692956</guid><author>PerfumerKarma</author><pubDate>Wed, 07 Jan 2026 17:32:58 +0800</pubDate><description><![CDATA[claude如何做的介绍文档]]></description><category></category></item><item><title><![CDATA[【渲染引擎基础】圣杯架构——固定逻辑时长+插值渲染]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/154188823</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/154188823</guid><author>PerfumerKarma</author><pubDate>Fri, 31 Oct 2025 15:43:30 +0800</pubDate><description><![CDATA[游戏开发中，完全异步的逻辑与渲染更新虽然理论上解耦程度高，但会带来不确定性（物理模拟不稳定）和状态撕裂（画面不一致）等问题。采用固定逻辑更新+插值渲染的方案更为合理：以固定时间步长（如62.5Hz）执行逻辑更新，确保物理和AI的确定性；在渲染时通过插值技术平滑过渡，即使在低逻辑帧率下也能实现高刷新率显示器的流畅视觉效果。这种方法兼顾了输入安全性、逻辑准确性和渲染流畅性，是平衡性能和稳定性的有效方案。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】WGSL中的变换矩阵乘法顺序]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/150212759</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/150212759</guid><author>PerfumerKarma</author><pubDate>Mon, 11 Aug 2025 12:58:39 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】JS调用WebAssembly的延迟是多少？]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149656861</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149656861</guid><author>PerfumerKarma</author><pubDate>Sat, 26 Jul 2025 05:27:11 +0800</pubDate><description><![CDATA[本文通过AssemblyScript— 通过写ts编译到wasm的语言生成的wasm文件，用到了SIMD技术、Relaxed-SIMD技术。测试JS调用WebAssembly的延迟，然后看下wasm在mini计算下的大致性能（测试矩阵乘法）。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】WebAssembly中的relaxed_madd指令到底做了什么？]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149656817</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149656817</guid><author>PerfumerKarma</author><pubDate>Sat, 26 Jul 2025 04:48:21 +0800</pubDate><description><![CDATA[让我们用数学形式来表示这三个输入向量abc向量 $ \vec{a} = \begin{pmatrix} a_0 \ a_1 \ a_2 \ a_3 \end{pmatrix} $向量 $ \vec{b} = \begin{pmatrix} b_0 \ b_1 \ b_2 \ b_3 \end{pmatrix} $向量 $ \vec{c} = \begin{pmatrix} c_0 \ c_1 \ c_2 \ c_3 \end{pmatrix} $这里的a0a1c3a0​a1。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】数学基础拾遗（3）矩阵乘法]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149652454</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149652454</guid><author>PerfumerKarma</author><pubDate>Fri, 25 Jul 2025 23:59:21 +0800</pubDate><description><![CDATA[得到每个新数位需要累加。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】数学基础拾遗（2）变换矩阵中的齐次坐标推导与几何理解]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149647894</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149647894</guid><author>PerfumerKarma</author><pubDate>Fri, 25 Jul 2025 20:54:59 +0800</pubDate><description><![CDATA[今天打算开始3D数学基础的复习，本文假设你了解以下概念：一次多项式、矩阵、向量。基于以上拓展的概念 归一化、2～3阶矩阵的几何意义。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】WGSL中的数据类型和对齐方式]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149518001</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149518001</guid><author>PerfumerKarma</author><pubDate>Mon, 21 Jul 2025 23:29:16 +0800</pubDate><description><![CDATA[在WebGPU中手动做Uniform的对齐容易出错，以下是类型的字节对齐参照表以及举例子看如何做对齐。**需要注意字节对齐不仅仅与数据类型有关还与数据字段的先后顺序有关。**，建议封装一个对齐库或使用 [webgpu-utils](https://github.com/greggman/webgpu-utils)。最终有一段完整的代码示例包括 `WGSL` 代码 以及对应的 `bindGroup` 布局设置。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】数学基础拾遗（1）三角学基础]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149505870</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149505870</guid><author>PerfumerKarma</author><pubDate>Mon, 21 Jul 2025 16:53:54 +0800</pubDate><description><![CDATA[一起来打下图形学的数学基础吧，本文主要记录一些基础数学中的关键术语、公式、定义，方便查阅并基于此拓展和补充。部分内容需要有函数基础。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】纹理格式表]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149473521</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149473521</guid><author>PerfumerKarma</author><pubDate>Sun, 20 Jul 2025 01:21:50 +0800</pubDate><description><![CDATA[表示纹理中的数据从 0 到 N，其中 N 是该位数的最大整数值。格式就会从不可过滤浮点格式转换为浮点格式，这些纹理格式无需其他更改即可正常工作。如果有多个字母数字组合，则指定每个通道的位数。使用时可以选择在着色器中访问数组中的哪种纹理，通常用于地形渲染。，数据范围是从位数所代表的最负整数到最正整数。的格式，这意味着可能需要手动创建一个绑定组布局，不能使用。字母表示纹理支持的颜色通道支持红色和绿色（2 个通道）。每种类型的纹理有不同的限制，在设置。末尾的单词表示通道中的数据类型。纹理的对比而言，在所有。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】纹理贴图magFilter的Shader简易模拟]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149472716</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149472716</guid><author>PerfumerKarma</author><pubDate>Sat, 19 Jul 2025 23:45:52 +0800</pubDate><description><![CDATA[【代码】【WebGPU学习杂记】纹理贴图magFilter的Shader简易模拟。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】纹理是个啥？UV？]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149443205</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149443205</guid><author>PerfumerKarma</author><pubDate>Fri, 18 Jul 2025 16:58:10 +0800</pubDate><description><![CDATA[纹理坐标通常用UV(W)来表示，这个命名法源于数学中对参数曲线, 图形学采用这个命名，沿用了数学中的习惯。在数学里，经常用 u、v 表示二维参数面上的参数，如果是三维参数曲面，额外用 w 表示。早先 S 和 T 也曾被使用（OpenGL 中仍然用 S, T）。后来为了统一命名和避免与其他数学变量（如 S 表示缩放、T 表示时间）混淆，很多系统转而使用 U, V。有时你还会看到 W 被加入，这是用于 三维纹理（3D texture） 的第三个坐标轴，对应体积纹理。比如NURBS 曲线贝塞尔曲面。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】关于format的疑惑，rgba8unorm？bgra8unorm?]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149436986</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149436986</guid><author>PerfumerKarma</author><pubDate>Fri, 18 Jul 2025 09:09:40 +0800</pubDate><description><![CDATA[无需修改着色器代码或处理 BGRA 转换。WebGPU 会自动处理bgra8unorm的物理存储，而你的逻辑始终基于 RGBA。这是图形 API 的常见设计，旨在简化开发并保持跨平台一致性。场景推荐格式原因Canvas 交换链纹理bgra8unorm（自动）显示系统优化，自动 RGBA↔BGRA 转换普通 2D 纹理rgba8unorm跨平台兼容性、标准化、避免隐式转换Canvas 的 BGRA 是显示优化，普通纹理的 RGBA 是通用规则。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】Adapter是啥?]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149419279</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149419279</guid><author>PerfumerKarma</author><pubDate>Thu, 17 Jul 2025 18:16:27 +0800</pubDate><description><![CDATA[动态 buffer offset 的最大数量（如 bind group 中用 dynamic offset）他是对图形计算器的抽象，对应到具体的集成显卡、独显、甚至软件模拟的驱动。个颜色附件（MRT：multi render target）个资源（buffer、texture、sampler）表示一次渲染/计算管线中最多可绑定 4 个。每个 shader 阶段最多可用 12 个。+ 最多 20 顶点缓冲区（因为。// 最大 X 可达 65535。指每个像素每个采样点最多可用。// 必须 256 对齐。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】JS传递着色器的数据类型描述]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149414159</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149414159</guid><author>PerfumerKarma</author><pubDate>Thu, 17 Jul 2025 09:34:48 +0800</pubDate><description><![CDATA[【代码】【WebGPU学习杂记】JS传递着色器的数据类型描述。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】Uniform和Stroage的区别和适用场景]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149394031</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149394031</guid><author>PerfumerKarma</author><pubDate>Wed, 16 Jul 2025 11:49:51 +0800</pubDate><description><![CDATA[想象一下你在一个大型工厂里指挥一群机器人（Shader）干活。现在我们来详细拆解这个比喻，对应到你的问题：区别、性能、存储、场景。]]></description><category></category></item><item><title><![CDATA[【WebGPU学习杂记】缓冲区是个啥？内存？闪存？]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149354624</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/149354624</guid><author>PerfumerKarma</author><pubDate>Tue, 15 Jul 2025 17:36:31 +0800</pubDate><description><![CDATA[WebGPU缓冲区是个啥？啥是零拷贝？Buffer API操作发生了啥？]]></description><category></category></item><item><title><![CDATA[GledeServer一款基于Bun的高性能服务器]]></title><link>https://blog.youkuaiyun.com/PerfumerKarma/article/details/147553810</link><guid>https://blog.youkuaiyun.com/PerfumerKarma/article/details/147553810</guid><author>PerfumerKarma</author><pubDate>Sun, 27 Apr 2025 13:23:00 +0800</pubDate><description><![CDATA[这是一款高性能的, 在bun@1.2.*后已可以逐步在生产环境应用，我用得早, 踩过一些内存泄漏的坑，值得高兴的是目前官方fix的差不多了，已稳定运行6个月未发生重启情况。⚠️保险起见建议还是采用的pm2统一管理。win开发环境使用它建议上安装wsl，你会得到接近的开发体验。]]></description><category></category></item></channel></rss>