<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[海月的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_43673589</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_43673589]]></copyright><item><title><![CDATA[adb install 右键快捷菜单]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/161664981</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/161664981</guid><author>weixin_43673589</author><pubDate>Wed, 03 Jun 2026 22:08:10 +0800</pubDate><description><![CDATA[选中apk后即可安装。]]></description><category></category></item><item><title><![CDATA[scrcpy Could not list ADB devices]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/159799041</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/159799041</guid><author>weixin_43673589</author><pubDate>Fri, 03 Apr 2026 15:57:12 +0800</pubDate><description><![CDATA[在Path下添加：C:\Install\scrcpy-win64-v3.3.4，就可以了。2.配置scrcpy的环境变量。帮我配置scrcpy的环境变量。1.首先确定版本是1.4.0。]]></description><category></category></item><item><title><![CDATA[找到是谁占用了文件]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/159643259</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/159643259</guid><author>weixin_43673589</author><pubDate>Mon, 30 Mar 2026 11:26:09 +0800</pubDate><description><![CDATA[二、在资源监视器搜索文件名。一、直接复制粘贴，看提示。]]></description><category></category></item><item><title><![CDATA[Git 二分查找定位问题]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/158930995</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/158930995</guid><author>weixin_43673589</author><pubDate>Wed, 11 Mar 2026 17:42:27 +0800</pubDate><description><![CDATA[git会自动切换到中间那笔提交，再依次标记下去，直到查找出引入问题的那笔提交。可以使用Git命令行，也可以借助Git工具 Fork。再切换到一段时间之前正常的提交，标记为Good。找到 Repository - Bisect。标记当前提交为Bad。]]></description><category></category></item><item><title><![CDATA[Visual Studio 设定编码]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/151957699</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/151957699</guid><author>weixin_43673589</author><pubDate>Mon, 22 Sep 2025 11:03:44 +0800</pubDate><description><![CDATA[工具-选项-环境-文档-使用特定编码保存文件。]]></description><category></category></item><item><title><![CDATA[通过位运算在GPU中实现高效的功能开关]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/150850204</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/150850204</guid><author>weixin_43673589</author><pubDate>Tue, 26 Aug 2025 14:43:41 +0800</pubDate><description><![CDATA[针对GPU环境下分类筛选的需求，提出使用位运算替代低效的if判断。通过创建32位无符号整数存储分类状态，将每个分类对应的bit位设为1表示开启。遍历分类列表，对每个分类进行左移和按位或运算生成掩码；使用按位与运算快速判断某分类是否开启。]]></description><category></category></item><item><title><![CDATA[Git报错 “fatal: unable to access CRYPT_E_REVOCATION_OFFLINE (0x80092013)“问题的解决方法 ]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/150427845</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/150427845</guid><author>weixin_43673589</author><pubDate>Fri, 15 Aug 2025 17:35:05 +0800</pubDate><description><![CDATA[出现"fatal: unable to access"错误并提示"CRYPT_E_REVOCATION_OFFLINE"时，是由于证书吊销检查失败导致。]]></description><category></category></item><item><title><![CDATA[Unity EventCenter 消息中心的设计与实现]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/148167087</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/148167087</guid><author>weixin_43673589</author><pubDate>Fri, 23 May 2025 16:31:08 +0800</pubDate><description><![CDATA[在软件开发中，模块间通信是常见需求。直接通过单例调用虽然简单，但会导致代码耦合度高，难以维护。消息中心提供了一种松耦合的通信方式，发布者和接收者无需直接依赖，便于扩展和维护。消息中心的核心是使用ConcurrentDictionary来存储事件与回调的映射关系，确保线程安全。通过AddListener和RemoveListener方法管理事件监听，SyncBroadcast和Broadcast方法触发事件。广播时，遍历并执行所有回调，使用try-catch块处理异常，确保一个回调的异常不会中断其他回调的执行]]></description><category></category></item><item><title><![CDATA[Unity ​​MeshCollider 无法被射线检测到]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/148106787</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/148106787</guid><author>weixin_43673589</author><pubDate>Wed, 21 May 2025 11:26:01 +0800</pubDate><description><![CDATA[​​MeshCollider不会生成有效的碰撞区域，在Scene视图中看不到绿框。需要使用BoxCollider。在此基础上给它加一个微小的厚度。先计算mesh的包围盒尺寸。]]></description><category></category></item><item><title><![CDATA[Unity Display 1 No cameras rendering]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/148082294</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/148082294</guid><author>weixin_43673589</author><pubDate>Tue, 20 May 2025 10:29:33 +0800</pubDate><description><![CDATA[如果此时相机已经输出到RenderTexture，场景中又没有别的相机在渲染，屏幕将变黑并显示No cameras rendering。Output Texture，要么是 None （屏幕），要么是RenderTexture。]]></description><category></category></item><item><title><![CDATA[Unity Image组件无法阻挡手势的解决办法]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/147953576</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/147953576</guid><author>weixin_43673589</author><pubDate>Wed, 14 May 2025 14:29:21 +0800</pubDate><description><![CDATA[找到FingersScript中的ComponentTypesToDenyPassThrough字段。问题：Iamge组件勾选了Raycast Target，却接收了手势，触发了视角旋转。手势插件使用的是DigitalRubyShared的FingersScript，这样就可以禁止Image组件接收手势。]]></description><category></category></item><item><title><![CDATA[Unity ViewportConstraint]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/147046123</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/147046123</guid><author>weixin_43673589</author><pubDate>Mon, 07 Apr 2025 16:13:30 +0800</pubDate><description><![CDATA[方法获取四个顶点的世界坐标。]]></description><category></category></item><item><title><![CDATA[道格拉斯-普克算法]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/146307942</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/146307942</guid><author>weixin_43673589</author><pubDate>Mon, 17 Mar 2025 16:34:46 +0800</pubDate><description><![CDATA[它通过减少构成曲线的点的数量，同时尽可能保留曲线的形状，从而实现数据的压缩和简化。因此，我想把这条轨迹的特征提取出来，只保留直线的开头和结尾的特征点，丢掉中间没用的点。在渲染轨迹时，原始的轨迹点本来就已经很密集了，再经过平滑插值之后，密集程度更是翻倍。在下图中可见，直线的中间区域，没有什么信息量的地方，却有大量的三角面被不必要地渲染。当所有子曲线都处理完毕，且没有新的关键点被添加时，算法结束。源数据有100多个点，处理之后只保留了14个关键特征点。递归地选择关键点，丢弃对曲线形状影响较小的点。]]></description><category></category></item><item><title><![CDATA[Unity InvalidOperationException: Collection was modified； enumeration operation may not execute.]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/146094360</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/146094360</guid><author>weixin_43673589</author><pubDate>Fri, 07 Mar 2025 14:15:59 +0800</pubDate><description><![CDATA[避免在遍历时修改集合，如果需要修改集合，可以先记录需要修改的内容，遍历结束后再执行修改。对于 List 等支持索引访问的集合，可以使用 for 循环，并在修改时注意索引的变化。在遍历集合的同时，代码中直接或间接地修改了集合（如在 foreach 循环中调用 Add 或 Remove 方法）。等）时，集合的内容被修改了。，这显然是一个无效的地址，表明程序试图访问一个未对齐或无效的内存地址。一个线程正在遍历集合，而另一个线程同时修改了集合（如添加、删除元素）。这是一个常见的异常，表示在遍历集合（如。]]></description><category></category></item><item><title><![CDATA[Android Gradle构建报错 Could not find semver4j-0.16.4-nodeps.jar]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/146071763</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/146071763</guid><author>weixin_43673589</author><pubDate>Thu, 06 Mar 2025 15:27:16 +0800</pubDate><description><![CDATA[下的build.gradle。]]></description><category></category></item><item><title><![CDATA[Unity 性能优化：RenderTexture 的动态加载与释放]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/146015437</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/146015437</guid><author>weixin_43673589</author><pubDate>Tue, 04 Mar 2025 15:18:52 +0800</pubDate><description><![CDATA[在运行状态下抓取内存快照，在快照中，排查[对象和分配]。在列表中按类型排序，可以看到有一张较大的RenderTexture，怀疑是项目中的某张尺寸为2560x1320的贴图。对于2560x1320的 RenderTexture，如果每像素占用4字节（例如RGBA32格式），则大小为：2560 × 1320 × 4 = 13,516,800 字节 ≈ 12.9 MB应该就是它。最初开发时，是直接在Resources目录下创建的，由场景中的预制体持有其引用。]]></description><category></category></item><item><title><![CDATA[Unity 安装Memory Profiler时，在Package Manager搜不到]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/145920535</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/145920535</guid><author>weixin_43673589</author><pubDate>Fri, 28 Feb 2025 09:58:19 +0800</pubDate><description><![CDATA[在Package Manager中，如果搜不到Memory Profiler。输入 com.unity.memoryprofiler。]]></description><category></category></item><item><title><![CDATA[Unity 高频渲染优化：数组复用降低GC频率]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/145903670</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/145903670</guid><author>weixin_43673589</author><pubDate>Thu, 27 Feb 2025 15:42:22 +0800</pubDate><description><![CDATA[在高频渲染场景中，使用静态渲染方案时，频繁创建新的顶点、三角形和UV数组会触发大量GC，导致性能下降。通过复用已分配内存的数组，仅在数组大小不足时重新分配，可显著减少内存分配次数，降低GC频率，提升渲染性能。每次生成网格时都创建新的vertices、triangles和uv数组，这会频繁触发GC，尤其是在高频更新时。避免了不必要的内存分配，防止内存碎片化，提高内存的利用率。改为复用已分配内存的数组，只有在数组大小不足时才重新分配内存，这样可以减少内存分配次数，降低GC频率。]]></description><category></category></item><item><title><![CDATA[Visual Studio打开文件后，中文变乱码的解决方案]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/145832223</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/145832223</guid><author>weixin_43673589</author><pubDate>Mon, 24 Feb 2025 16:43:46 +0800</pubDate><description><![CDATA[使用Unicode（UTF-8）编码加载文件 C:\WorkSpace\Assets\Scripts\UI\View\ExecuteComplateView.cs时，有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。]]></description><category></category></item><item><title><![CDATA[Unity 查看Inspectors组件时严重掉帧]]></title><link>https://blog.youkuaiyun.com/weixin_43673589/article/details/142562705</link><guid>https://blog.youkuaiyun.com/weixin_43673589/article/details/142562705</guid><author>weixin_43673589</author><pubDate>Thu, 26 Sep 2024 16:48:04 +0800</pubDate><description><![CDATA[测试结果表明，当Count为public时，且Count在Update中每帧更新时，查看Inspectors面板会导致严重掉帧。后续又测试了几次，只要每帧更新的变量被序列化，查看时就会卡顿，无论是private还是public，[HideInInspector] or not.遇到一个问题，就是运行一个脚本的时候，只要我查看它的Inspectors，就会严重掉帧。这还真有点像波粒二象性，一观察就会掉帧，不观察就正常。原本是30fps，只要查看这个组件，就掉到5fps。]]></description><category></category></item></channel></rss>