xlua源码分析第5章 struct类型优化
发布时间
阅读量:
阅读量
xlua源码分析(五) struct类型优化
上一节我们对xlua中lua层如何实现对C#值类型的访问进行了分析,其中特别强调了在xlua默认实现方式下,struct类型访问所存在的效率问题。实际上,xlua还提供了两种优化手段,能够显著提升struct访问的性能。具体实例可参考Examples 12_ReImplementInLua中的内容。
第一种优化方法是在lua层对C#的struct进行重构。当C#的struct被推送到lua层时,其数据类型仍为userdata,但此时其metatable不再指向C#层的struct,而是由lua层自行实现的:
function test_vector3(title, v1, v2)
print(title)
v1.x = 100
print(v1.x, v1.y, v1.z)
print(v1, v2)
print(v1 + v2)
v1:Set(v1.x - v2.x, v1.y - v2.y, v1.z - v2.z)
print(v1)
print(CS.UnityEngine.Vector3.Normalize(v1))
end
local get_x, set_x = xlua.genaccesso
全部评论 (0)
还没有任何评论哟~
