Unreal UnLua + Lua Protobuf

Unreal UnLua + Lua Protobuf

https://protobuf.dev/

protobuf wire format:pb 编译到底层的数据协议

https://github.com/starwing/lua-protobuf/blob/master/README.zh.md

buffer 处理

lua string 可以当 buffer 用,# len 不会遇到 0 截断,注意和 cstring 的区别

UE FString 有点坑

  1. UnLua FString => lua string 用的 lua_pushstring,会遇到 0 截断
  2. FString 本身是带编码的,当 buffer 还是。。

哎,稳妥的做法还是 TArray<uint8> ,这样先把业务跑起来了

这块最好还是手写 Lua C API 来减少传递的 overhead,避免重复拷贝

序列化测试

发现和 C++ PB 序列化出来的结果不一样,咨询了下作者, Lua PB 默认是随机字段顺序

开启 encode_order 即可,不过仅限开发测试用,性能差

lua 复制代码
pb.option("encode_order")

proto 管线

相关推荐
编程饭碗3 分钟前
【多线程编程】
java·开发语言
vyuvyucd19 分钟前
Python虚拟环境终极指南:venv到uv进阶
开发语言·python·uv
Tim_1026 分钟前
【C++入门】05、复合类型-数组
开发语言·c++·算法
无限进步_27 分钟前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
佑白雪乐32 分钟前
<Python第1集>
开发语言·python
菜还不练就废了32 分钟前
26.1.12|JavaSE复盘补充,整到哪里算哪里(一)
java·开发语言
黎雁·泠崖1 小时前
吃透Java操作符入门:分类差异+进制转换+原反补码 核心前置知识(Java&C对比)
java·c语言·开发语言
满栀5851 小时前
三级联动下拉框
开发语言·前端·jquery
名字不好奇1 小时前
C++虚函数表失效???
java·开发语言·c++
e***98571 小时前
MATLAB高效算法实战:从基础到进阶优化
开发语言·算法·matlab