C# 与 Unity优化相关

 

1、数据类型选择 api

转载自:http://www.xuanyusong.com/archives/1919数组

 

     客户端与服务器的交互,使用JSON 和XML会感受数据量太大,影响效率。使用二进制能够很大把空间节省。服务器

在写入二进制数据时用到的核心类就是BinaryWriter ,Binary是二进制的意思 ,可见操做二进制写入就用BinaryWriter了。 经常使用的数据类型会分配固定的字节数量,假设BinaryWriter 写入一个short 那么就占2字节,写一个 int 就占4字节,若是是数组的话须要数组类型字节长度在乘以数组长度。app

byte:一个字节(8位) 
short:两个字节(16位) 
int:四个字节(32位)(一个字长) 
long:八个字节(64位)
float:四个字节(32位)
double:八个字节(64位)

而后在说说string,字符串它并非标准的数据类型,它是一个对象 object 那么它的字节长度就是可变的。还有BinaryWriter 在写入string 的时候会现将字符串的长度以byte的形式储存,而后在储存该字符串的占用的字节长度。那么在解析字符串的时候须要先解析字符串长度,而后在根据长度取得后面对应长度的字节数组,再把这个字节数组转换成string。写入的时候咱们用的是BinaryWriter 那么读取的时候应该是 BinaryReader。性能

 

2、灯光相关spa

一、使用光照贴图lightmaping对全部静态物体进行光照贴图htm

(1)、Single Lightmaps最简单,对性能及空间消耗较小,须要多张LightMap才能表现物体凹凸细节对象

(2)、Dual Lightmaps若是用户但愿在大的游戏场景中表现较多的光影细节 ,同时但愿多 一 实时光影 ;或使动态物体和静态物体的光影融舍得更协调 一 些 ,且不会由于场些景过大而没有足够的性能来完成这些工做 ,Dual lightmaps是知足这样需求的 一个理想方案。要使用Dual LightMaps,那么须要设置Camera属性中的Rendeing Path为Deferred Lighting.须要在近区域实时光照的光源的ightmapping属性设置为 Auto。游戏

(3)Directional Lightmaps结合了前二者,而且解决了前二者的缺点字符串

相关文章
相关标签/搜索