随笔分类 -  c

like c++, focus in game server
摘要:#需求 随着项目组越来越大,Lua配置表内存占用越来越大,峰值超过60M。这导致在1G内存设备想达标就很困难了,可以说是必须解决的问题。 #优化思路 把Lua配置表转成二进制自动格式,导出到Lua成一个Userdata,通过给userdata一个特别设计的Metatable,使它访问起来和普通的配置 阅读全文

posted @ 2022-11-08 10:58 marcher 阅读(1403) 评论(0) 推荐(0)

摘要:cocos2dx里加载cocosudio导出的ui配置文件,在这之上封装了一下,封装核心类包括UIManager,UILayer,UIOwnerUIManager是所有ui总的管理类,代码如下:UIManager = { battle = 1, city = 2, login = 4, ... 阅读全文

posted @ 2014-06-23 16:32 marcher 阅读(858) 评论(0) 推荐(0)

摘要:local uilocal function createLayerUI() if not ui then ui=cc.Layer:create(); createLayerUI=nil; end return ui;endlocal sclocal function createLayerSc... 阅读全文

posted @ 2014-06-18 17:57 marcher 阅读(882) 评论(0) 推荐(0)

摘要:local uilocal function createLayerUI() if not ui then ui=cc.Layer:create(); createLayerUI=nil; end return ui;endlocal sclocal function createLayerSc... 阅读全文

posted @ 2014-06-18 15:54 marcher 阅读(331) 评论(0) 推荐(0)

摘要:local uilocal function createLayerUI() if not ui then ui=cc.Layer:create(); createLayerUI=nil; end return ui;endlocal sceneGame=cc.Scene:create()sce... 阅读全文

posted @ 2014-06-18 13:59 marcher 阅读(313) 评论(0) 推荐(0)

摘要:#include #include #include "FreeImage.h"#include #include #pragma comment(lib, "FreeImage.lib")GLuint texture; // Storage For One Texture ( NEW )/... 阅读全文

posted @ 2014-06-17 18:22 marcher 阅读(1587) 评论(0) 推荐(0)

摘要:2d手游引擎,至少要提供5个解决方案:1UI2角色怪物动画3场景4粒子5音频视频语言选择使用c++,脚本使用lua,c++需要提供的核心API包括1图片加载接口_Image.new2图片文字渲染接口_Image:draw()3音频视频接口soundgroup:play4事件接口_app:onIdle... 阅读全文

posted @ 2014-06-17 01:01 marcher 阅读(301) 评论(0) 推荐(0)

摘要:以下的讨论都是基于多进程或者单进程,但是进程内线程肯定只有1个。服务器性能指标最重要的是服务器的最高在线人数,一般而言,页游达到1500+基本没啥问题了,在线人数峰值一般出现在刚开服到量瞬间,之后在达到峰值前,就会开I新服,一般在开服1个小时内达到,可能15分钟就能达到,然后会开新服,压力就慢慢小了... 阅读全文

posted @ 2014-06-14 19:14 marcher 阅读(1385) 评论(3) 推荐(0)

摘要:sql的通用缓存,是实现最麻烦的一部分,对于查询结果的缓存,主要有如下的结构来缓存:cache tablename--player statement--select * from player where vip>1 key1 key2 ... 阅读全文

posted @ 2014-06-14 18:01 marcher 阅读(425) 评论(0) 推荐(0)

摘要:事件机制主要用于服务器逻辑处理,形式如下:define.Func1{Arg1=0, Arg2=‘abc'}--定义事件,Func1为事件名,Arg1=0, 指Arg1参数默认值为0,Arg2='abc'指Arg2参数默认值为0,主要用于参数类型验证when{}function Func1(Arg1,... 阅读全文

posted @ 2014-06-14 17:31 marcher 阅读(310) 评论(0) 推荐(0)

摘要:在(一)中,介绍了c对lua层的拓展,这边主要写lua层的网络部分,目标是实现RPC调用,实现主要是三部分:1通信协议(消息的序列化和反序列化)rpc调用主要信息包括方法名,方法参数,设计的通信协议如下:字节长度(4字节)|方法名|方法参数因为方法参数是由1个表序列化来的,必然以’{‘开头,所以可以... 阅读全文

posted @ 2014-06-14 15:54 marcher 阅读(368) 评论(0) 推荐(0)

导航