- 博客(13)
- 收藏
- 关注
原创 经典排序算法总结
冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
2023-09-16 18:32:13 167 1
原创 网络游戏开发基础(三)TCP协议可能出现的问题
每次都以相同的长度发送数据,假设规定每条信息的长度都为10个字符,那么发送“Hello”“Unity”两条信息可以发送成“He llo... ”“Unity... ”,其中的“. ”表示填充字符,是为凑数,没有实际意义,只为了每次发送的数据都有固定长度。接收方每次读取10个字符,作为一条消息去处理。如果读到的字符数大于10,比如第1次读到“He llo...Un”,那它只要把前10个字节“Hello... ”抽取出来,再把后面的两个字节“Un”存起来,等到再次接收数据,拼接第二条信息。
2023-09-12 18:24:42 441
原创 网络游戏开发基础(二):Socket编程与聊天室案例
网络上的两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为一个Socket。一个Socket包含了进行网络通信必需的五种信息:连接使用的协议、本地主机的IP地址、本地的协议端口、远程主机的IP地址和远程协议端口。
2023-09-11 11:16:10 922
原创 网络游戏开发基础(一):重点理论基础
OSI模型是一个由国际标准化组织(ISO)制定的通信协议参考模型,它将网络通信划分为七个不同的层次,每个层次负责特定的功能。TCP/IP协议是一组用于互联网通信的协议集合,它是互联网的基础协议,TCP/IP协议栈可以看作是OSI模型的一个实现。
2023-09-10 12:41:04 506 1
原创 C#中常见集合类的底层原理与时间复杂度
了解常用数据结构类的底层原理和时间复杂度有助于我们进行性能优化,C++的STL还提供优先队列,双向队列,单向链表等类,相较起来C#提供的集合类没有C++强大。==注意:ChatGPT提供的时间复杂度分析有错误,它认为Clear操作只是将Cout设为0,所以得出O(1)的结论,实际上需要遍历一遍元素,将所有元素设为默认值,时间复杂度应该是O(n),切记不能盲目依赖ChatGPT==。我以为只是人文方面的回答比较垃圾,没想到编程方面的也会出错,而且还是低级错误。
2023-09-08 22:24:32 1553 4
原创 寻路算法总结
游戏中常用的寻路算法是A星算法,但是A星算法是从广度遍历优先和德吉斯特拉算法改进而来的,了解前两种算法能加深对A星的理解。由于A星加入了从起点到终点的距离计算,当目标点很多时,A*算法会带入大量计算,所以评估函数比较复杂的情况下,Dijkstra算法更好
2023-09-07 14:30:02 1717 1
原创 Lua与C#的相互调用(xLua)
xLua是由腾讯维护的一个开源项目,xLua为Unity、 .Net、 Mono等C#环境增加Lua脚本编程的能力,借助xLua,这些Lua代码可以方便的和C#相互调用。
2023-09-03 23:04:18 4772
原创 Lua热更新原理与流程
利用第三方Lua热更新库,在Unity中嵌入lua解释器,利用解释器执行lua脚本。需要热更新的时候,从服务器上下载需要更新的代码文件
2023-08-31 21:17:30 2859 1
原创 Unity性能优化(三)杂项优化与结语
性能优化的内容很多,随着你对unity的了解越深,你自然就能知道更多性能优化的方法。注意不要一味追求极限优化,如果当前已经达到你的目标配置和目标帧数,请将更多的精力放在其他方面。
2023-08-29 18:45:27 1506 1
原创 Unity性能优化(二)DrawCall与渲染优化
性能优化这块内容比较多,如果每一个都贴上代码讲如何使用,将耗费巨大的精力,本文只是列一个提纲,更深入的内容请大家自行学习,可以结合上文将的Profiler工具一起使用。
2023-08-28 17:58:05 1768
原创 Unity中的MVC、MVP、MVVE框架
本文结合一个小案例,讲解MVC、MVP和MVVE在Unity中的相关应用MVC思想最初来自网页和软件开发,并不是为了游戏开发而生,在游戏开发中主要用在大型商业游戏中,小项目使用反而会带来更多麻烦,请酌情使用。
2023-08-26 19:20:04 4309 4
原创 Unity性能优化(一)优化概述与Profiler工具的使用
最近在学习性能优化的内容,想写博客总结一下,这是我第一次写,所以可能会比较粗糙,后面会随着学习的深入不断完善学习性能优化之前你需要先知道什么是渲染管线,以及3D模型的基本知识,本文不给出相关教学性能优化的主要目的就是提高游戏帧数,而提高游戏帧数可以从优化代码,降低DrawCall等方面入手,在Game窗口点击Stats可以查看DrawCall、帧数、顶点数量、三角形数量、SetPass等信息,这些都是我们要重点关注的数据,Batches是DrawCall进行批处理以后的值,你可以理解为DrawCall。
2023-08-26 09:49:21 1530
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人