在Android中使用V8支持库和默认的RenderScript运行时,我注意到Java级别的相同RenderScript代码可以产生不同的结果。
例如,结果图像略有不同,可能是因为某些内在函数的实现不同。
我还注意到支持库版本是"更异步"比原生的。原生版本需要一些时间来处理" forEach()"方法,而支持库几乎立即返回" forEach()"当" copyTo"或者"完成()"被叫了。
我还注意到" Allocation.createFromBitmap()"被调用时,支持库将使用位图内存而不在VM外部分配额外空间,而本机版本将始终分配更多空间。我使用Qualcom's Trepn profiler得出了这个结论。
是否记录了差异?
答案 0 :(得分:1)
RenderScript支持库与CPU路径中的本机RenderScript基本相同。
但有几个不同之处:
内存使用和其他行为的差异可能来自设备上的GPU驱动程序。 GPU可能需要使用指定的步幅/对齐将位图复制到GPU内存。