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 管线

相关推荐
dtq04243 小时前
C++3 - 分支语句if和string变量
开发语言·c++·学习
jimy13 小时前
c++类成员访问只看静态类型
开发语言·c++
156082072193 小时前
银河麒麟 Qt 可执行文件打包说明
开发语言·驱动开发·qt
SEO_juper3 小时前
手写 llms.txt 验证器:让 AI 更愿意引用你的网站(GEO)
开发语言·人工智能·python·聚类·seo·独立站
CCCCCCCCharlie3 小时前
从0到1:一个字节的磁盘之旅
linux·开发语言·c++
比兔代理3 小时前
纯净IP是什么?从IP信誉、黑名单与ASN角度原理解析
开发语言·php
benjiangliu3 小时前
恩培趣味计算机视觉-01-conda环境和Python库
开发语言·python·conda
我喜欢就喜欢3 小时前
DeepSeek Harness 开源贡献手记:从零到合入主线
开发语言·人工智能
坐看风云变幻3 小时前
《嵌入式工程师的软硬件修仙之路》第 2 期|C 语言筑基:指针与内存模型
c语言·开发语言
开开心心就好3 小时前
安卓PDF处理工具,免费无广告零弹窗
android·服务器·开发语言·算法·pdf·ocr