将字节[]从unity c#传递到android java而不复制(指针?)

bbmckpt7  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(695)

有没有可能将一个字节[]从unity c#传递到android java而不复制它?换句话说,尽可能快地传输它,可能像指针一样。
用例发送一个长度为1920x1080的字节[](从.getrawtexturedata派生,每秒30次)。当前,我将字节[]作为 AndroidJavaObject 方法调用,但太慢(每次调用100毫秒)。有什么想法吗?

pdkcd3nj

pdkcd3nj1#

这不是一个答案每看到,但我已经意识到,发送8mb的 sbytes 通过jni只需要~7毫秒(我在第一次尝试时没有正确地分析它)。发送要快得多 sbytesbytes 因为 bytes 必须转换为 bytes 无论如何(c#字节不是有符号的,所以它们必须被转换,因为java使用有符号的字节),而且转换的实现非常慢。此外,您可以直接在 sbytes ,这将进一步提高性能并减少使用引用的需要。

相关问题