- 博客(6)
- 资源 (6)
- 收藏
- 关注
原创 从高级源码到机器码的过程,反射DLL加载卸载
在Java中有虚拟机,代码运行时虚拟机把Java语言编译成与机器无关的字节码,然后再把字节码编译成机器指令执行,那么在.NET中程序是如何运行的呢?其实运行原理是一样的,.NET中的虚拟机是CLR(公共语言运行时),无论是C#程序还是VB程序,首先会由CLR编译成与平台无关的中间语言IL,然后由公共语言运行时CLR的即时编译器JIT编译成机器代码,再由CPU去执行它。所以说.NET程序也是需要二次编译才能运行,其中涉及的相关术语解释如下:IL/MSIL (Microsoft Intermed..
2022-05-11 14:46:15 839
原创 GC-内存托管语言带来的问题优化之路
长时间的游戏开发,大家都在谈论GC的问题,一直比较懵懂,终于找到机会整理下对它的认识,希望对有缘的你有所帮助,在游戏运行的时候,数据主要存储在内存中,当游戏的数据在不需要的时候,存储当前数据的内存就可以被回收以再次使用。内存垃圾是指当前废弃数据所占用的内存,垃圾回收(GC)是指将废弃的内存重新回收再次使用的过程。 Unity中将垃圾回收当作内存管理的一部分,如果游戏中废弃数据占用内存较大,则游戏的性能会受到极大影响,此时垃圾回收会成为游戏性能的一大障碍点。1.基本认识GC(垃圾回收)英文Gra
2022-05-10 10:56:27 226
原创 Git 存储位置,add,commit,push的区别
首先要知道工作区,暂存区 ,本地仓库和远程仓库暂存区:每一次进行代码修改的地方,暂不属于某个分支,可将修改的内容暂存后再恢复运用场景 :比如,当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。或许由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需
2022-05-07 14:45:18 433
原创 Unity Shader优化总结
1.计算量优化。着色器进行的计算和处理越多,对性能的影响越大。针对不影响最终效果但依然进行计算的无效代码,进行移除操作。计算的频率也会影响游戏的性能。通常,像素着色器比顶点着色器的执行次数要多。在可能的情况下,将计算从像素着色器移动到顶点着色器,或将它们完全在着色器移除,在脚本中计算并传递给着色器。2.表面着色器优化。Unity提供的表面着色器非常适合编写与光照交互的着色器。针对特定情况设置关键字以使着色器效率更高或减小体积:approxview使用逐顶点而不是逐像素的规范化观察向量。虽然是近似值,
2021-08-13 18:00:48 498
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人