自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Unity客户端优化之CPU(二):GC

GC 垃圾回收机制作用:管理托管堆(托管堆:引用类型会被分配到托管堆上,如类实例,字符串,数组等)的内存释放,当堆内存不足时,会自动调用GC,其次也可以手动调用。为什么要在CPU上优化GC呢?因为虽然GC是用来处理内存的,但是却是由CPU来调用,当量大的时候对CPU的负担就很大了。所以,优化GC的方法就是:减少GC的触发优化:

2016-08-25 09:15:43 1682 4

原创 基于MVC架构写一个UI框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。(摘自百科)优点: 耦合性低  重用性高  可维护性高  生命周期成本低

2016-08-19 12:23:38 4265

原创 游戏开发常用设计模式(一):观察者模式

观察者模式也称订阅者模式,看百度中的一个通俗解释:报社的任务便是出版报纸。向某家报社订阅他们的报纸,只要他们有新的报纸出版便会向你发放。也就是说,只要你是他们的订阅客户,便可以一直收到新的报纸。如果不再需要这份报纸,则可以取消订阅。取消之后,报社便不会再送新的报纸过来。报社和订阅者是两个不同的主体,只要报社还一直存在着,不同的订阅者便可以来订阅或

2016-08-16 08:31:18 1427

原创 Unity客户端优化之CPU(一):DrawCall

提起DrawCall,大部分人的反应是GPU方面的优化,其实不全是,DrawCall是什么呢?是对底层图形程序接口的调用,用以在屏幕上渲染出东西来,那么是谁来调用底层图形程序接口呢?自然是CPU了。那么我们知道了这个原理后怎么去优化呢?假设有上千个物体,每一个渲染都要去调一次底层接口,一次调用CPU需要做很多工作,那么对CPU会造成很大的负担。而对于GPU来说,图形处理的工作量是一

2016-08-14 08:15:22 3120

原创 框架的应用(一):对象池

应用场景:战争游戏中的角色生成和销毁,因为战争游戏存在大量的生成角色和销毁角色,所以如何去节约性能很重要,对象池可以解决这个问题看这一关于生成士兵的代码片段: GameObject go = ObjPool.Instance.OnGetObj("Soldier1", "Prefabs/Soldier/");

2016-08-07 08:13:01 1765

原创 Unity 客户端框架(六):UI框架

引自百度:编写UI框架意义打开,关闭,层级,页面跳转等管理问题集中化,将外部切换等逻辑交给UIManager处理功能逻辑分散化,每个页面维护自身逻辑,依托于框架便于多人协同开发,不用关心跳转和显示关闭细节通用性框架能够做到简单的代码复用和"项目经验"沉淀这个UI框架不区别于NGUI与UGUI,通用public abstract class Bas

2016-08-06 08:18:04 15010 11

原创 Unity 客户端框架(五):对象池

关于对象池,引用百度上的一句话:对象池使用的基本思路是:将用过的对象保存起来,等下一次需要这种对象的时候,再拿出来重复使用,从而在一定程度上减少频繁创建对象所造成的开销。简单的来说就是: 重复利用对象,减少创建和销毁对象的性能消耗public class ObjPool : Singleton{ //实例池对象 private static GameObject

2016-08-05 08:41:10 2283

原创 Unity 客户端框架(四):资源管理器

资源管理器,顾名思义就是加载资源用的作用:当一个项目非常庞大的时候,我们不可能每次都手动去加载释放,这时候需要一个管理器来帮我们实现并管理他们目前并不完整//资源类 public class AssetInfo { //资源对象 private UnityEngine.Object _Object; //资

2016-08-04 08:17:42 6025 3

原创 Unity 客户端框架(三):消息机制

消息机制是基于观察者模式的一种机制,MVC模式被广泛使用,举例说明:当人物被攻击血量减少的时候,我们要通知所有带有血量需要改变的对象,比如:血量条UI等等为什么要使用:解耦合,降低模块之间的关联性,比如装备面板和属性面板之间的互调等等本文的消息节点优先排序性能低下,有什么的好的建议可以指教指教//消息中心 public class EventCenter

2016-08-03 08:24:00 4607

原创 Unity 客户端框架(二):单例基类

什么是单例类?服务于:保证一个类仅有一个实例,并提供一个访问它的全局访问点。比如怪物管理器,音乐管理器,场景管理器等为什么要有单例基类?如果每个单例类都要实现一次单例模式,那么代码重复性会很严重,代码量会增加很多,所以这时候需要有一个基类用于继承这是用于不需要继承至MonoBehavior的://T是一个类,可以new()的 public abstract class

2016-08-02 08:24:57 2975

原创 Unity 客户端框架(一):有限状态机

有限状态机是把一个对象的行为分解称为易于处理的“块”或状态。例如,灯的开关,就是一个简单的有限状态机。为什么要用?通常,在一个程序里面,转换各种状态,需要使用一系列的if-then语句或者switch语句。如果内容少的话这会很容易理解,也合理,但是当内容非常庞大的时候,这时候这种方法写的代码就如一个怪物,这时候FSM就出现了。代码如下:public class

2016-08-01 08:16:49 3070

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除