当前位置: 首页 > news >正文

漳州市网站建设_网站建设公司_Linux_seo优化

做ppt的图片素材网站,石家庄又封了,机械设备网站建设,wordpress相册居中随着游戏的开发#xff0c;项目的配置表数据越来越多#xff0c;占用的内存越来越#xff1b;配置表占用太大就会影响游戏加载速度#xff0c;游戏流畅度的每一毫秒都是我们的必争之路。[1] {DungeonID10000, Dungeon 王进打高俅, NextDungeonID10100, Battle… 随着游戏的开发项目的配置表数据越来越多占用的内存越来越配置表占用太大就会影响游戏加载速度游戏流畅度的每一毫秒都是我们的必争之路。 [1] {DungeonID10000, Dungeon 王进打高俅, NextDungeonID10100, BattleID {10001, }, BattleTime0, Quality0, BackMusic BGM_Fight, },[2] {DungeonID10100, Dungeon 鲁提辖拳打镇关西, NextDungeonID10200, BattleID {10101, 10102, }, BattleTime0, Quality0, BackMusic BGM_Fight, },[3] {DungeonID10200, Dungeon 五台山僧与俗的较量, NextDungeonID10300, BattleID {10201, 10202, 10203, 10204, 10205, 10206, 10207, 10208, }, BattleTime0, Quality0, BackMusic BGM_Fight, }, 我们项目采用的配置表存储方式是Lua表格策划配表用excel配置然后使用网上的开源工具excel2lua导出lua表格业务逻辑使用的时候直接import表就好了。在观察了导出的lua表格后我们整理出一堆待优化的问题1. 没有意义的空值比如0[]等2. 重复数据3. 默认值4. 字段名优化5. 客户端、服务端表格分离搞清楚了数据冗余的原因我们就可以制定优化方案没有意义的空值比如0[]等空的table我们建了一张全局表GlobelEmptyTable {}然后把这些空table都指向这个GlobelEmptyTable 重复数据对于重复数据我们在lua表新建一张duplication表用来存放重复数据然后把重复的数据都指向这张表里面相应的重复的数据。默认值通过观察可以发现其中有部分字段很容易重复如BattleTime、Quality等 这些字段通常为枚举或者有固定的分类只有几个不同的值然而配置表中每个item都需要为这些内容创建一个字段。我们的优化方案是利用lua的特性--原表metatable建一张defaultValues表在导出的时候选取出现次数最多的值作为每个字段的原表存到defaultValues然后剔除每行中与默认值相同的字段从而节省内存。local defaultValues {Dungeon ,Describe ,PlayerLevel 0,Name ,NeedStar 0,BackMusic BGM_Fight,PrizeInfo 0,Crime ,Num 1,Place ,BattleID gConstEmptyTable,BackGround ,NextDungeonID 0,DungeonID 0,ID 0, }dolocal base {__index defaultValues, --基类默认值存取__newindex function()--禁止写入新的键值error(Attempt to modify read-only table)end}for k, v in pairs(DUNGEON_LIST) dosetmetatable(v, base)endbase.__metatable false --不让外面获取到元表防止被无意修改 end字段名优化热心网友给我提出这种优化但是这种类似CSV存储格式可想而知内存肯定可以降低很多我简单实现了一下比对了一下内存差别还是很大的但是这种存储格式和默认值方案冲突只能取舍现在项目已经做完了下个项目可以试一下这种方案。修改前修改后local KeyMap {costRes 1,costTime 2,troopsCount 3,power 4,model 5, }local BUILD101 {[1] {{}, 0, 2, 69, castle1, },[2] {{ 1001, 1782, 1002, 2430, 1003, 2430, 1004, 1458, }, 295, 2, 166, castle1, },[3] {{ 1001, 2673, 1002, 3645, 1003, 3645, 1004, 2187, }, 1080, 2, 302, castle1, }, }dolocal base {__index function(table,key)local keyIndex KeyMap[key]if not keyIndex thenprint(key not found: ,key)return nilendreturn table[keyIndex]end, --基类默认值存取__newindex function()--禁止写入新的键值error(Attempt to modify read-only table)end}for k, v in pairs(BUILD101) dosetmetatable(v, base)endbase.__metatable false --不让外面获取到元表防止被无意修改 end客户端、服务端表格分离服务器对于这么点内存根本不会在意但是客户端大不一样是个精打细算的好媳妇每一KB都要计较的所以我们设计一个参数来控制配置表导出对象C客户端、S服务端在和策划设计表的时候告知哪些是客户端需要的参数导出的时候按C、S导出2张表。本文中使用的配置表优化工具源码已经放在github需要的朋友可以自取https://github.com/Aver58/Tools使用元表优化 Lua 配置文件​www.orztu.comLua配置表存储优化方案 - UWA Blog​blog.uwa4d.com
http://www.lebaoying.cn/news/139095.html

相关文章:

  • 想找一家公司设计网站安徽网站关键字优化
  • 建网站的公司首选智投未来电子印章制作生成免费
  • seo发布网站设计图纸用什么软件
  • 小企业网站建设系统哪个好好好建站
  • 网站平台建设实训体会杭州上城区抖音seo有多好
  • 黑龙江省住房和城乡建设网站深圳福步外贸论坛
  • 网站备案复查建设网站要多少页面
  • flash个人网站什么软件制作视频最好
  • 上海防伪网站建设软件系统开发的大概步骤
  • 凡科建的网站可以做seo吗个人博客模板网站
  • 建设公司查询网站首页青岛网站制作
  • 常州app网站wordpress 父页面
  • 中英文版网站建设广东东莞天气预报15天
  • 电子商务网站建设估算2021年关键词排名
  • 重庆门户网站建了网站怎么装饰
  • 找网站建设公司哪家好企业网站设计调查问卷
  • 南京网站运营公司无网站可以做cpc吗
  • 珠海做网站专业公司宜春做网站 黑酷seo
  • 赣州网站建设机构龙岩网站排名
  • 国外学做咖啡的网站wordpress 实时表单
  • 仿古建筑公司网站怎么看网站是dede模板
  • 扁平化设计风格的网站做jsp网站用哪些软件下载
  • 网站的js效果代码屏山县建设局网站
  • 做网站六安网络推广app是做什么工作
  • 简单干净的网站wordpress显示大写
  • 北京龙鼎网站建设公司企业管理咨询服务机构
  • 河北建设厅官方网站报名考试网wordpress火车头添加媒体
  • 网站微场景代码中国建设人才信息网
  • 焦作建设银行网站张家港网站建设培训班
  • 黄石建网站开发一款游戏需要多少钱