关于mono:ProtoBufnet-SerializerSerialize产生大量的GC
1)ProtoBuf-net Serializer.Serialize产生大量的GC2)如何疾速在工程代码中每个函数注入本人想要插入的代码3)Unity设置IL2CPP导出的Mac平台的Xcode工程中,如何通过Object-C代码反调Unity侧的C#代码4)ShaderGraph生成的Shader在UGUI上应用的问题 这是第289篇UWA技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫10分钟,认真读完必有播种。 UWA 问答社区:answer.uwa4d.comUWA QQ群2:793972859(原群已满员) MonoQ:在咱们游戏中有应用到ProtoBuf的序列化,在查找性能问题的时候看到序列化的函数产生了大量的GC,如下图: A:能够参考《Unity3D游戏GC优化总结---protobuf-net无GC版本优化实际》。感激lanyt@UWA问答社区提供了答复 ScriptQ:如何疾速地在工程代码中的每个函数注入本人想要插入的代码?有说借助Mono Ceil的,还有一些库没有开源,所以想请问有没有其余方面的材料能够参考? A:能够参考《应用Mono.Cecil实现IL代码注入》。感激羽飞@UWA问答社区提供了答复 ScriptQ:在iOS平台下,IL2CPP导出的Xcode工程中Object-C调用Unity办法是通过SendMessage实现的: 请问在Mac平台下IL2CPP形式导出的Mac工程,如何通过Object-C代码反调Unity侧的C#代码?也是通过SendMessage的形式吗?然而我没找到相干的接口。 A:用SendMessage是能够实现的,然而效率不好。能够参考我这个Object-C回调Unity。把你须要的接口,写成函数指针,在Object-C里注册,须要时做回调。<br/>能够参考《Unity与Object-C交互》。感激廖武兴@UWA问答社区提供了答复 ShaderQ:我用URP 10.4.0和Shader Graph10.4.0建设了一个用于UGUI Image的Shader,它能在PC上正确运行,然而在手机上UV就谬误了,如下图: 如下图,这样间接连一个简略的Tex2D就会呈现,ShaderGraph也如下图连贯: 我应用Unity 2022 URP13.1.6 SG13.1.6再次建设同样的ShaderGraph Shader在手机上是正确的,然而我临时没有方法更换Unity版本。 A:能够参考这个视频的做法,应该是不能间接把ShaderGraph生成的Shader间接用到UGUI上的,须要做一些调整:https://www.youtube.com/watch...感激Xuan@UWA问答社区提供了答复 封面图来源于:Protobuf-net OptimizationProtobuf-net无GC优化版本,另外还提供了一些无GC自定义数据结构,以及对Unity 3D中C#代码的各种无GC应用形式测试。 明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在UWA问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。 官网:www.uwa4d.com官网技术博客:blog.uwa4d.com官网问答社区:answer.uwa4d.comUWA学堂:edu.uwa4d.com官网技术QQ群:793972859(原群已满员)