Android에서 V8 지원 라이브러리와 기본 RenderScript 런타임으로 작업하는 동안 Java 수준의 동일한 RenderScript 코드가 다른 결과를 생성 할 수 있다는 사실을 발견했습니다.RenderScript와 V8의 차이점 지원 라이브러리
예를 들어 일부 내장 함수가 다르기 때문에 결과 이미지에 약간의 차이가있을 수 있습니다.
지원 라이브러리 버전이 원래 버전보다 "비동기"로 나타났습니다. 네이티브 버전은 "forEach()"메소드를 처리하는 데 약간의 시간이 걸리는 반면 지원 라이브러리는 "forEach()"호출 후에 거의 즉시 반환되고 "copyTo"또는 "finish()"가 호출 될 때 모든 작업을 수행합니다.
"Allocation.createFromBitmap()"이 호출되었을 때 지원 라이브러리는 비트 맵 메모리를 사용하고 VM 외부에 여분의 공간을 할당하지 않으며 기본 버전은 항상 더 많은 공간을 할당합니다. 나는이 결론으로 Qualcom's Trepn profiler을 사용했다.
차이점은 문서화되어 있습니까?
3 번째 진술을 조금 더 잘 설명 할 수 있습니까? 기기의 Android 버전이 'renderscriptTargetApi'와 같은 경우 어떻게해야합니까? 정확하게 이해하면 높은 "targetSdkVersion"은 네이티브 RenderScript 경로 대신 라이브러리를 사용하는 상대적으로 새로운 장치를 생성합니다. – Petrakeas
정확합니다. RenderScript에는 Allocation, Intrinsics 등과 같은 프레임 워크 API와 런타임 API (https://developer.android.com/guide/topics/renderscript/reference/overview.html)가 있습니다. 일반적으로 renderscriptTargetApi는 필요한 모든 RenderScript 런타임 API를 제공하는 최소 API입니다. targetSdkVersion은 앱이 타겟팅하는 Android 프레임 워크 API입니다. 지원 lib는 런타임 파트와 프레임 워크 파트 모두가 기본 경로에서 실행될 수 있는지 확인해야합니다. –
지원 라이브러리는 GPU 경로를 사용할 수 있습니까? – Petrakeas