<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/aefdwu9215</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; aefdwu9215]]></copyright><item><title><![CDATA[Unity移动游戏加载性能和内存管理-学习笔记]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276762</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276762</guid><author>aefdwu9215</author><pubDate>Thu, 22 Aug 2019 02:47:00 +0800</pubDate><description><![CDATA[前言
正在学习Doctor 张.鑫大佬的移动游戏加载性能和内存管理，内容非常非常的干，所以我烧了很多开水，边喝边看，一边拿小本几做好笔记
本文只是关于前2章的内容笔记，关于各种资源的加载耗时
纹理资源加载耗时

重复加载十次，取平均值
纹理尺寸测试结论

1、纹理资源的分辨率对加载性能影响较大，分辨率越高，其加载越为耗时。设备性能越差，其耗时差别越为明显；
2、设备越好，加载效率确实越高...]]></description><category></category></item><item><title><![CDATA[C#跟Lua如何超高性能传递数据]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276761</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276761</guid><author>aefdwu9215</author><pubDate>Sun, 21 Jul 2019 00:58:00 +0800</pubDate><description><![CDATA[前言
在UWA学堂上线那天，我买了招文勇这篇Lua交互的课程，19块还算值，但是前段时间太忙，一直没空研究，他的demo是基于xlua的，今天终于花了大半天时间在tolua下跑起来了，记录一下我的理解

性能，仍然是Lua中与C＃混用的大坑
Lua跟C#交互的性能问题是老生常谈的了，c#跟lua数据交互是通过lua虚拟栈，进行压栈、出栈来传递的，一次调用就需要执行很多指令，性能会随着调用...]]></description><category></category></item><item><title><![CDATA[记一次Lua语言中死循环查错]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276760</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276760</guid><author>aefdwu9215</author><pubDate>Mon, 06 May 2019 01:00:00 +0800</pubDate><description><![CDATA[前言
如果在Lua语言中某一处死循环了！你特么的怎么去查出这特么的该死的循环到底在特么的哪里！！！

重现步骤
一打开技能界面，整个游戏就卡死不动了
开始排查
查看一下cpu占用率，unity占用60%+，应该是死循环

一开始采取冒烟式查错法，去一些可疑的地方一个个打断点（我们有lua调试工具可断点）。
游戏的大循环，事件派发基层接口，lua调用c#的基层接口等等，都加了很多断点
可喜...]]></description><category></category></item><item><title><![CDATA[数据结构之二叉堆、堆排序]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276759</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276759</guid><author>aefdwu9215</author><pubDate>Mon, 25 Mar 2019 00:32:00 +0800</pubDate><description><![CDATA[前言
上一篇写了数据结构之二叉搜索树、AVL自平衡树，这次来写堆。
堆的创造者
很久以前排序算法的时间复杂度一直是O(n^2)， 当时学术界充斥着“排序算法不可能突破O(n^2)”的声音，直到1959年，由D.L.Shell提出了一种排序算法，希尔排序（Shell Sort），才打破了这种不可能的声音，把排序算法的时间复杂度提升到了O(n^3/2)！
当科学家们知道这种"不可能"被突破之...]]></description><category></category></item><item><title><![CDATA[数据结构之二叉搜索树、AVL自平衡树]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276757</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276757</guid><author>aefdwu9215</author><pubDate>Wed, 20 Mar 2019 20:00:00 +0800</pubDate><description><![CDATA[前言
最近在帮公司校招~~ 所以来整理一些数据结构方面的知识，这些知识呢，光看一遍理解还是很浅的，看过跟动手做过一遍的同学还是很容易分辨的哟~
一直觉得数据结构跟算法，就好比金庸小说里的《九阳神功》，学会九阳神功后，有了内功基础，再去学习其他武功，速度就有质的提升
内容大概包含这些，会分多篇文章来整理：


二叉搜索树
平衡二叉树（AVL）
二叉堆
堆排序
四叉树
八叉树
图，深度优先D...]]></description><category></category></item><item><title><![CDATA[go语言爬虫 - TapTap用户都喜欢些什么游戏]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276756</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276756</guid><author>aefdwu9215</author><pubDate>Mon, 30 Jul 2018 00:11:00 +0800</pubDate><description><![CDATA[前面的废话
说到爬虫，首先想到的当然是python~ 它在机器学习、爬虫数据分析领域可谓是如日中天，十分热门。但我最近在学习go语言，所以就用go写了
TapTap社区
这是一个高品质的游戏分享社区，可以说是手机上的steam。上面的用户质量非常高，核心玩家多，看到他们那么用心的写那么多长评论，让我惊叹，所以这次打算拿它来爬取数据练练手，下面先看看成果
先看效果，这里的玩家，都喜欢玩啥类...]]></description><category></category></item><item><title><![CDATA[Golang vs PHP 之文件服务器]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276754</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276754</guid><author>aefdwu9215</author><pubDate>Wed, 18 Jul 2018 00:50:00 +0800</pubDate><description><![CDATA[前面的话
作者为golang脑残粉，本篇内容可能会引起phper不适，请慎读！
前两天有同事遇到一个问题，需要一个能支持上传、下载功能的HTTP服务器做一个数据中心。我刚好弄过，于是答应帮他搭一个。
HTTP服务器，首先想到的就是PHP + nginx。于是开撸，先写一个PHP的上传
&lt;?php
    if ($_FILES["file"]["error"] &gt; 0)
  ...]]></description><category></category></item><item><title><![CDATA[Lua内存分析工具]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276755</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276755</guid><author>aefdwu9215</author><pubDate>Sun, 25 Feb 2018 00:03:00 +0800</pubDate><description><![CDATA[最近给公司写了一个lua内存分析工具，可以方便的分析出Lua内存泄露问题（虽然还没正式使用，但我是这样想的，哈哈哈），有图形化界面操作，方便手机端上传快照等功能
内存分析我是在c语言端写的，也有人写过lua端的分析工具，也蛮好用的，不过lua分析工具本身也会影响到lua的内存占用（尽管用的是弱表缓存的），也会有些不准确。
Lua方案：https://github.com/yaukeywa...]]></description><category></category></item><item><title><![CDATA[C和Lua之间的相互调用]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276731</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276731</guid><author>aefdwu9215</author><pubDate>Sun, 14 Jan 2018 20:57:00 +0800</pubDate><description><![CDATA[前面的话
第一次接触Lua是因为Unity游戏中需要热更，但是一直没搞懂Lua是怎么嵌入到别的语言中执行的，如何互相调用的。这次打算好好了解一下C跟lua是如何交互的
那么如何使用Lua语言？
lua是c语言编写的，而且开源。可以在https://www.lua.org官网上下载Lua的源码，然后尝试编译它！是不是跟我一样好激动，一直用集成环境，写上层语言，今天居然要碰编译了！！~ 可怎...]]></description><category></category></item><item><title><![CDATA[UGUI表情系统&超链接解决方案]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276729</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276729</guid><author>aefdwu9215</author><pubDate>Sat, 23 Dec 2017 15:16:00 +0800</pubDate><description><![CDATA[最近帮一个同事解决图文混排的问题，发现了一种犀利的UGUI表情系统的解决方案
https://blog.uwa4d.com/archives/Sparkle_UGUI.html
使用重新生成UGUI文字Mesh的方式来支持表情图片。在Shader中判断是否有第二个套UV传入来渲染表情，动态表情也在GPU端计算~ 可以合并DrawCall，支持UGUI的遮罩、自适应等等
我在原作者的基础上...]]></description><category></category></item><item><title><![CDATA[UnityShader-菲涅尔反射（Fresnel Reflection）]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276758</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276758</guid><author>aefdwu9215</author><pubDate>Sat, 09 Dec 2017 23:39:00 +0800</pubDate><description><![CDATA[菲涅耳公式（或菲涅耳方程），由奥古斯丁·让·菲涅耳导出。用来描述光在不同折射率的介质之间的行为。由公式推导出的光的反射称之为“菲涅尔反射”。菲涅尔公式是光学中的重要公式，用它能解释反射光的强度、折射光的强度、相位与入射光的强度的关系

在计算机图形学中的应用
一般运用于水面效果，试想一下你站在湖边，低头看向水里，你会发现近的地方非常清澈见底（反射较少），而看远的地方却倒映着天空（反射较多...]]></description><category></category></item><item><title><![CDATA[Unity中的Mono & Linux上编译Mono的流程]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276752</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276752</guid><author>aefdwu9215</author><pubDate>Sun, 12 Nov 2017 19:39:00 +0800</pubDate><description><![CDATA[前段时间编译了一下Unity的Mono,看了很多相关的文章，也遇到很多新坑。所以来总结一下，加深自己对Mono的理解
为什么Unity可以跨平台运行呢
通常Unity的脚本有C#、JS、Boo。不过现在官方都只推荐使用C#了，为什么Unity可以支持用不同的语言编写代码呢？因为它使用了一种叫CIL的中间语言，C#、JS、Boo最终会被编译成一种叫IL的中间语言，然后通过Mono运行时编译...]]></description><category></category></item><item><title><![CDATA[【转】腾讯资深产品经理谈敏捷开发于游戏]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276753</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276753</guid><author>aefdwu9215</author><pubDate>Mon, 06 Nov 2017 20:15:00 +0800</pubDate><description><![CDATA[原文：http://blog.csdn.net/sjchappysky/article/details/46618799
敏捷开发思想谈
   敏捷的原则 
  敏捷开发其实并没有标准型的流程。SCRUM也只是众多衍生体中的一个。实际上就算是SCRUM的实际使用也情况千差万别。所以首先，请大家有这么个概念：
  
    敏捷开发绝对不是一套一成不变的标准化流程。而更多的是一种自适应，自...]]></description><category></category></item><item><title><![CDATA[帧同步-自动化战斗测试流程]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276751</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276751</guid><author>aefdwu9215</author><pubDate>Sat, 14 Oct 2017 22:42:00 +0800</pubDate><description><![CDATA[小小的代码，提升大大的效率(^o^)/
工作中有很多繁琐的流程，重复的流程，是可以编程实现让计算机去做的。编程其实就是教机器去做某些事情，而程序语言，就是跟机器对话的工具~
经常听牛人说用代码改变世界，虽然我改变不了整个世界，但至少还可以改变一下身边的世界哦~
自动化测试
我们游戏的战斗测试同步问题比较麻烦，每次改动了战斗（主动技能、被动技能、BUFF、怪物等等）都需要开多个号测试一遍战...]]></description><category></category></item><item><title><![CDATA[VS Code 快捷键（中英文对照版）]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276750</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276750</guid><author>aefdwu9215</author><pubDate>Sat, 07 Oct 2017 11:21:00 +0800</pubDate><description><![CDATA[原文地址：https://segmentfault.com/a/1190000007688656
常用 General
按 Press 功能 Function
Ctrl + Shift + P，F1 显示命令面板 Show Command Palette
Ctrl + P 快速打开 Quick Open
Ctrl + Shift + N 新窗口/实例 New window/instanc...]]></description><category></category></item><item><title><![CDATA[Linux下SVN提交时强制写日志]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276748</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276748</guid><author>aefdwu9215</author><pubDate>Tue, 26 Sep 2017 14:08:00 +0800</pubDate><description><![CDATA[Linux版本：
1、在svn的hooks目录下新建一个名为pre-commit的文件并为其添加执行权限(用vi pre-commit直接创建)
2、pre-commit文件的内容如下：
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | gr...]]></description><category></category></item><item><title><![CDATA[如何搞定SVN目录的cleanup问题和lock问题]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276749</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276749</guid><author>aefdwu9215</author><pubDate>Mon, 04 Sep 2017 14:45:00 +0800</pubDate><description><![CDATA[最近在使用SVN的时候碰到一个问题，就是操作时由于粗心大意，在更新的过程中点击取消，使得该目录出现cleanup的操作提示。
OK，按照cleanup提示操作后，又提示目录被lock...
网上有解决方案称，在SVN目录下找到 .svn 隐藏目录，一般是在项目的根目录下，在 .svn 目录下有一个 wc.db 数据库文件。
我们使用 sqlite3.exe 打开这个数据库，并对它进行操作...]]></description><category></category></item><item><title><![CDATA[游戏里的动态阴影-ShadowMap实现原理]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276747</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276747</guid><author>aefdwu9215</author><pubDate>Mon, 24 Jul 2017 22:39:00 +0800</pubDate><description><![CDATA[ShadowMap是比较流行的实时阴影实现方案，原理比较简单，但真正实现起来还是会遇到很多问题的，我这里主要记录下实现方式
先看效果

实现原理
ShadowMap技术是从灯光空间用相机渲染一张RenderTexture，把深度值写入其中所以称之为 深度图 ，在把接受阴影的物体从模型空间转换到灯光空间中，获取深度图里的深度进行比较，如果深度值比深度图中取出的值大就说明该点为阴影。
《Cg...]]></description><category></category></item><item><title><![CDATA[游戏里的跨地图寻路算法]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276746</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276746</guid><author>aefdwu9215</author><pubDate>Tue, 11 Jul 2017 13:54:00 +0800</pubDate><description><![CDATA[前段时间遇到一个跨地图寻路的需求，需要在任意两个地图之间自动寻路。我们的寻路算法用的是AStar,每个地图都有一份格子数据，地图之间有传送门通过。
首先这是一个最短路径问题，常用的最短路径算法有Dijkstra、Floyd。这里我的思路是选择Dijkstra来实现。
具体的Dijkstar算法原理可以参考这两篇文章：（反正我是学完就忘记了 笑哭~）
透彻理解迪杰斯特拉算法
最短路径—D...]]></description><category></category></item><item><title><![CDATA[Unity-Shader-动态阴影(上) 投影的矩阵变换过程]]></title><link>https://blog.csdn.net/aefdwu9215/article/details/102276745</link><guid>https://blog.csdn.net/aefdwu9215/article/details/102276745</guid><author>aefdwu9215</author><pubDate>Tue, 16 May 2017 15:32:00 +0800</pubDate><description><![CDATA[【旧博客转移 - 2017年1月20日 01:20】
前面的话
最近很长时间没写博文了，一是太忙 ( lan ) 了，二是这段时间又领悟了一些东西，脑子里很混乱，不知道从何写起。但感觉不能再拖延下去了，来不及解释了，快上车（一脸滑稽）
目前我在做一款3D二次元动作游戏，后面可能会用到动态阴影，有的人可能会直接找一个插件分分钟就把阴影做出来了，这样做当然可以，但自己不去熟悉一下底层...]]></description><category></category></item></channel></rss>