程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)?

开发过程中遇到将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)的问题如何解决?下面主要结合日常开发的经验,给出你关于将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)的解决方法建议,希望对你解决将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)有所启发或帮助;

是否可以将字节 [] 从 Unity C# 传递到 AndroID Java 而无需复制它?换句话说,尽可能快地传输它,可能是作为一个指针。

用例是发送一个长度为 1920x1080 的 byte[](派生自 .GetRawTextureData,每秒 30 次。目前我正在将 byte[] 作为参数传递到 AndroIDJavaObject 方法中调用但速度太慢(每次调用 100 毫秒)。有什么想法吗?

解决方法

这不是每次看到的答案,但我意识到通过 JNI 发送 8MB 的 sbytes 只需要大约 7 毫秒(我在第一次尝试时没有正确分析它)。发送 sbytes 比发送 bytes 快得多,因为 bytes 无论如何都必须转换为 bytes(C# 字节没有签名,因此必须将它们转换,因为 Java 使用有符号字节)并且转换的执行非常缓慢。此外,您可以直接在 sbytes 中工作,这进一步提高了性能并减少了使用引用的需要。

大佬总结

以上是大佬教程为你收集整理的将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)全部内容,希望文章能够帮你解决将字节 [] 从 Unity C# 传递到 Android Java 而不复制(指针?)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: