- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 cocos渲染时如何自动合并DrawCall
减少drawcall是游戏开发过程中的重要优化手段,在移动设备上更低的drawcall意味着更低的发热和更高的系统流畅度。cocos显示对象把渲染数据放在RenderCommand中,然后在Renderer类render函数中统一进行渲染。这么设计是为了对渲染进行统一的管理,包括可以进行合并drawcall,还可以用独立的线程来进行渲染,但是cocos目前并没有这么做。cocos渲染数据的...
2019-03-21 14:14:22
3142
1
原创 cocos2d+lua绑定关系理解——性能优化建议
1全局变量local化在lua中使用全局变量都会在全局表(_G)中进行检索,一个函数如果多次使用同一个全局变量应该将其local化存于函数栈中。例如 local cc = cc,后面关于cc的调用会直接在函数栈中直接获取cc表,省去了检索全局表的操作。包括lua提供的库函数例如local tableinsert = table.insert2善用upvalueupda...
2019-03-20 20:00:20
492
原创 cocos2d+lua绑定关系理解——类型判定
cocos创建一个新的绑定类型的时候会在注册表(Rigister)中进行如下操作1 创建绑定对象对应的元表,例如["cc.ClippingNode"] = {--table: 0x00320220 ["__le"] = "function: 0x00320328", ["tolua_ubox"] = "table: 0x002c86f0" , -- loop table,...
2019-03-20 17:25:53
593
原创 cocos2d+lua绑定关系理解——二
全面的理解cocos+Lua的绑定关系需要更加深入理解cocos和lua的交互中所操作的表(table),这些表大多存在于注册表中。首先来看cocos中的对象对应lua中的userdata,绑定的元表以cc.Sprite为例["cc.Sprite"] = {--table: 0x0032c690 ["new"] = "function: 0x00b9b168", ["...
2019-03-20 16:54:56
1213
原创 cocos2d+lua绑定关系理解——一
通过lua代码往上层追溯,从整体上理解cocos2d+lua的接口设计思路和整套代码的运行流程。首先来看一句简单的lua代码local spr = cc.Sprite:create()cc是一张表(table),表(table)是lua里面唯一的数据结构,cc存于_G中,_G是lua里面的全局表,cc表中存了所有cocos绑定的常量和“类”。Sprite也是个表(table),S...
2019-03-20 16:21:12
1739
原创 cocos2d+lua绑定关系理解——class函数
class函数返回一个具有new函数和create函数的table。调用class函数的时候可以传入function类型或table类型的参数,可以实现类似c++"继承"效果。下面是class函数使用的两个示例示例一local MyLayer=class("MyLayer", function() return cc.Layer:create()end)local ...
2019-03-19 16:19:42
358
原创 Robocup3d (simspark-0.22 or later)关于线的识别和使用(定位)。
<br /> simspark-0.22以及以后的版本都会包含NAO机器人所看到的线的信息,但服务器不会告知具体为哪条线。服务器发过来的是视野内所有线的两端的位置。例如一条线的信息:(L (pol 4.65 60.06 1.50) (pol 4.65 -60.24 1.21)),pol后面的三个值依次为线的一个端点到摄像机的直线距离,端点距离视线中心在视线平面上的夹交,从及端点距离视线中心在垂直方向上的夹角,使用时需将它们转换为水平方向上的夹角的距离方可使用,详见:http://simspark.
2011-05-27 14:46:00
771
DVD管理系统
2012-01-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人