Skip to content

SDK 24 (Nougat) Improvements #1

@swaneyjr

Description

@swaneyjr

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions