<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Pengcode的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Pengcode</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Pengcode]]></copyright><item><title><![CDATA[Godot4.x的整体架构图解析-源码阅读]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/153695757</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/153695757</guid><author>Pengcode</author><pubDate>Tue, 21 Oct 2025 18:08:22 +0800</pubDate><description><![CDATA[Godot引擎核心架构解析 本文通过分析Godot 4.4.1源码，重点探讨了引擎的核心架构设计。文章首先指出官方架构图中关系表达不清晰的问题，进而绘制了UML类图来明确类之间的关系。特别分析了Variant与Object的关联实现，揭示了Variant作为通用数据容器如何通过内部ObjData结构持有Object引用。此外，以Sprite2D模块为例，详细说明了Scene模块与RenderingServer的依赖关系，展示了从纹理设置到最终渲染的完整调用链路。这些分析为深入理解Godot引擎的底层机制提供]]></description><category></category></item><item><title><![CDATA[C/C++程序员如何理解Godot的场景式游戏开发逻辑的？]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/153335633</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/153335633</guid><author>Pengcode</author><pubDate>Wed, 15 Oct 2025 18:09:32 +0800</pubDate><description><![CDATA[本文从C++程序员视角出发，对比了传统串行编程与Godot场景式游戏开发的差异。通过一个简单游戏案例，展示了两种实现方式的区别： 传统串行编程采用类继承结构，通过main循环驱动游戏逻辑 Godot采用场景树设计： 使用.tscn文件定义游戏对象及其组件关系 通过GDScript实现行为逻辑 采用信号机制进行对象间通信 内置_process等生命周期函数替代显式循环 文中通过玩家角色实现细节，帮助理解Godot的组件化设计理念，为从面向对象思维转向场景树思维提供了具体示例。]]></description><category></category></item><item><title><![CDATA[游戏编程模式-享元模式(Flyweight)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/153059362</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/153059362</guid><author>Pengcode</author><pubDate>Sat, 11 Oct 2025 17:49:14 +0800</pubDate><description><![CDATA[由浅到深说明Flyweight，增加opengl实践说明]]></description><category></category></item><item><title><![CDATA[游戏编程模式-命令模式(Command)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/152808835</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/152808835</guid><author>Pengcode</author><pubDate>Thu, 09 Oct 2025 17:42:01 +0800</pubDate><description><![CDATA[文章摘要： 命令模式是一种将方法调用封装为对象的编程模式，它可以实现输入配置、撤销操作等功能。文章首先批评了GoF对命令模式晦涩的定义，提出更直观的理解方式——命令模式是&quot;具体化的方法调用&quot;。随后通过游戏输入处理的例子，展示了如何使用命令模式实现可配置的按键映射。进一步地，文章介绍了如何引入角色参数使命令更灵活，并讨论了命令序列化在网络游戏中的应用。最后，重点阐述了如何利用命令模式实现撤销和恢复功能，通过保存命令历史记录来实现状态回滚。]]></description><category></category></item><item><title><![CDATA[[Onnx简化库深度剖析] OnnxSimplifier和OnnxOptimizer解读-(4)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/135555551</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/135555551</guid><author>Pengcode</author><pubDate>Fri, 12 Jan 2024 16:31:48 +0800</pubDate><description><![CDATA[结束了，已经搞定了onnx官方的简化库的基本细节了。后面再续其他有趣的东东。]]></description><category></category></item><item><title><![CDATA[[Onnx简化库深度剖析] OnnxSimplifier和OnnxOptimizer解读-(3)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/135555311</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/135555311</guid><author>Pengcode</author><pubDate>Fri, 12 Jan 2024 16:00:28 +0800</pubDate><description><![CDATA[补充说明Pass。基本上目前所有的Pass已经被罗列出来了，后续会用实际的效果去加深大家的印象。]]></description><category></category></item><item><title><![CDATA[[Onnx简化库深度剖析] OnnxSimplifier和OnnxOptimizer解读-(2)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/135065928</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/135065928</guid><author>Pengcode</author><pubDate>Mon, 18 Dec 2023 16:27:25 +0800</pubDate><description><![CDATA[上述的Pass只是其中的一小部分，还有将近二十来个Pass没有说明清楚，因此这个留到后续的文章继续说明。]]></description><category></category></item><item><title><![CDATA[[Onnx简化库深度剖析] OnnxSimplifier和OnnxOptimizer解读-(1)]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/135065148</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/135065148</guid><author>Pengcode</author><pubDate>Mon, 18 Dec 2023 16:04:33 +0800</pubDate><description><![CDATA[这次主要是介绍了OnnxSimplifier简化原理，重点介绍了FoldConstant功能和FixedPointFn迭代优化函数，这是该简化包的核心部分了。但是对于其他的OptimizeFixed，也就是OnnxOptimizer函数库的内部简化细节却没有具体的说明。后续将会具体介绍OnnxOptimizer的模型优化细节。]]></description><category></category></item><item><title><![CDATA[Disasm 示例程序改写和适配]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/134582963</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/134582963</guid><author>Pengcode</author><pubDate>Thu, 23 Nov 2023 17:44:32 +0800</pubDate><description><![CDATA[最近在看这本书籍，在第一张的简介中我们可以看到ProViem这个反汇编开源工具的内容，内部介绍了反汇编的基本原理，我们可以看到详细的开源代码。但是从网址下载后的代码无法直接使用VS2019或者是GNUC工具进行编译构建]]></description><category></category></item><item><title><![CDATA[[PTQ]均匀量化和非均匀量化]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/134582884</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/134582884</guid><author>Pengcode</author><pubDate>Thu, 23 Nov 2023 17:40:48 +0800</pubDate><description><![CDATA[下图表示三种量化方式的x-fakequant_y的映射关系。数据分布在[0.0, 1.0]之间，全覆盖。python代码实现如下所示。python代码实现如下所示。python代码实现如下所示。]]></description><category></category></item><item><title><![CDATA[【PTQ】Cross-Layer Equalization跨层均衡-证明和实践详细解读]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/134402005</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/134402005</guid><author>Pengcode</author><pubDate>Tue, 14 Nov 2023 16:34:51 +0800</pubDate><description><![CDATA[PTQ、DFQ、Cross-Layer Equalization跨层均衡-原理解读和证明以及实验]]></description><category></category></item><item><title><![CDATA[[深度学习主流框架解析一] Onnx]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/127367517</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/127367517</guid><author>Pengcode</author><pubDate>Mon, 17 Oct 2022 16:48:28 +0800</pubDate><description><![CDATA[Onnx同样也是采用了Protobuf协议进行模型文件的整体构建，与Caffe相比，Onnx使用了多proto文件描述模型。因此，解析Onnx模型文件需要了解多个proto文件之间的关联。proto文件之间的依赖关系如下所示：fill:#333;color:#333;color:#333;fill:none;]]></description><category></category></item><item><title><![CDATA[[深度学习主流框架解析一] Caffe]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/127324017</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/127324017</guid><author>Pengcode</author><pubDate>Fri, 14 Oct 2022 17:05:27 +0800</pubDate><description><![CDATA[重点解析caffe.proto模型文件中的内容，整体的模型文件可见下图。模型结构相关特性：特点总结：运用到的数学原理是《求导的链式法则》，相关表达式如下所示：δyδz=δyδx∗δxδz\frac{\delta y}{\delta z} = \frac{\delta y}{\delta x} * \frac{\delta x}{\delta z}δzδy​=δxδy​∗δzδx​下面以caffe中的sigmoid算子进行说明caffe内部的反向传播过程是如何的。sigmoid是激活函数，具体的数学公式如下所]]></description><category></category></item><item><title><![CDATA[【网络通信四】ping工具源码cmake工程编译以及运行说明]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/126251019</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/126251019</guid><author>Pengcode</author><pubDate>Tue, 09 Aug 2022 16:47:55 +0800</pubDate><description><![CDATA[代码】【网络通信四】ping工具源码cmake工程编译以及运行说明。]]></description><category></category></item><item><title><![CDATA[【渣渣彭-错误记录】专门记录本人的撒币问题]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/126180350</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/126180350</guid><author>Pengcode</author><pubDate>Fri, 05 Aug 2022 16:31:03 +0800</pubDate><description><![CDATA[后续将会把困扰自己的问题和一些注意点统统放在上面，就算是给自己当做笔记了。]]></description><category></category></item><item><title><![CDATA[【网络通信三】研华网关Modbus服务设置]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/126039023</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/126039023</guid><author>Pengcode</author><pubDate>Thu, 28 Jul 2022 17:05:03 +0800</pubDate><description><![CDATA[最近在使用研华网关进行Modbus的通信试验，试图跟之前研究的Modbus通信库进行相互通信。企图互通两者的通信，熟悉AdvantechEdgeLinkStudio的使用等目的。ModbusTcpSocket阻塞和非阻塞IPv4和IPv6区别使用到的相关软件和工具。...]]></description><category></category></item><item><title><![CDATA[Halide::Generator生成器使用说明]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/125929503</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/125929503</guid><author>Pengcode</author><pubDate>Fri, 22 Jul 2022 20:00:00 +0800</pubDate><description><![CDATA[本次的主要工作就是尝试了HalideGenerator生成器去进行核函数生成以及如何使用不同后端的试验。多计算图调度gpu约束输入输出定义信息自动调度操作生成器调用示例。]]></description><category></category></item><item><title><![CDATA[【网络通信二】TCP参考模型]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/125857949</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/125857949</guid><author>Pengcode</author><pubDate>Mon, 18 Jul 2022 19:16:35 +0800</pubDate><description><![CDATA[最近在搞网络编程方面的工作，先前有去了解socket通信，进行了示例的学习。所以又有幸去重温一下网络模型。以现在的知识储备去进行重新学习，发现比之前的理解好了不少。至少比那个差不多要挂科的从前的自己强了不少。哈哈哈，我们直接进入正题。如下所示表示的是TCP/IP模型中如何封装一个数据，也就是报文的产生的过程是如何的。网络模型的基本的模型是OSI参考模型，其被分成7层。...]]></description><category></category></item><item><title><![CDATA[为Halide安装opencl支持]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/125820247</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/125820247</guid><author>Pengcode</author><pubDate>Sat, 16 Jul 2022 15:13:43 +0800</pubDate><description><![CDATA[打开TargetOpenCL开关，我们可以看到使用opencl进行推理的时候，计算时调用的openclapi是如何的。展示的测速结果如下所示,这里可以看出来，虽然都是使用了cpu进行计算，但是还是intel-cpu-opencl速度更快些。compile_jit进行处理操作。查看主机平台支持的设备平台。设置kernel参数。...]]></description><category></category></item><item><title><![CDATA[【网络通信一】SOCKET套接字]]></title><link>https://blog.youkuaiyun.com/Pengcode/article/details/125784344</link><guid>https://blog.youkuaiyun.com/Pengcode/article/details/125784344</guid><author>Pengcode</author><pubDate>Thu, 14 Jul 2022 19:00:00 +0800</pubDate><description><![CDATA[1、Socket的整体使用流程
下图表示的是用socket接口实现了典型的CS事务的具体调用流程。

补充知识：目前本人亲自测验大小端的代码和结果枚举如下




硬件
操作系统
大小端




浪潮盒子ARMv8 Processor rev 0 (v8l)
Linux version 4.9.140-tegra
小端


2080服务器Intel® Xeon® Silver 4110 CPU
Ubuntu 7.5.0-3ubuntu1~18.04
小端


本地电脑Intel® Core™ i7-9700]]></description><category></category></item></channel></rss>