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

相关推荐
爱跳舞的烤冷面9 分钟前
自学嵌入式第N天(Linux篇——文件编程)
java·开发语言·前端
caimouse1 小时前
ReactOS 图形系统分析(33):字体子系统 — font.c
c语言·开发语言·reactos
cxr8281 小时前
HyperMind Lab M1 架构地基 Implementation Plan <二>
开发语言·人工智能·架构
特立独行的猫a1 小时前
Tauri v2的Rust应用 → HarmonyOS(鸿蒙 PC)移植30分钟速成指南
开发语言·rust·harmonyos·tauri·移植·鸿蒙pc
迷迭香yy1 小时前
大宗交易折溢价因子怎么挖掘本地化Python全流程实战
开发语言·人工智能·python
xieliyu.1 小时前
UPD协议结构以及开发中注意事项
java·开发语言·笔记·java-ee
Yweir1 小时前
AI大模型开发-Python介绍、版本说明
开发语言·人工智能·python
峥嵘life9 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
mqiqe12 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
gugucoding12 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言