Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDK 24 (Nougat) Improvements #1

Open
swaneyjr opened this issue Jul 9, 2021 · 0 comments
Open

SDK 24 (Nougat) Improvements #1

swaneyjr opened this issue Jul 9, 2021 · 0 comments

Comments

@swaneyjr
Copy link
Contributor

swaneyjr commented Jul 9, 2021

Renderscript in Nougat can include reduction kernels, which will be more efficient for the RAW histogram and L2 processing. The Allocation.createAllocations() function can also be used to generate input buffers which share a bufferQueue, which may also improve performance for YUV (i.e. by passing the buffers directly through the Surface rather than through the grayscale() Renderscript kernel).

This has been tried before (see, for instance, this past snapshot) but in this implementation, different memory for the two Allocation usages caused inconsistent trigger results. For example, calling Allocation.copy2DRangeTo() immediately before and after Allocation.ioReceive() will typically yield different results for the old and new buffers, but occasionally the buffer values will not be changed; however, invoking a kernel on the Allocation will reflect the new buffer values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant