forked from SlimRoms/frameworks_base
-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Optimize drawBitmapMesh using TRIANGLE_STRIP
Draw BitmapMesh using STRIP instead of TRIANGLES. Depending on where the bottleneck is located in the pipeline, there is a potential for saving two-thirds of the time spent rendering. The speedup is due to avoiding redundant operations, i.e., mapping each vertex four times to texture and color attribute, sending each vertex twice to the GPU, vertex processing of GPU ... In this patch: 1. Refactoring mesh using Strip. 2. Batch triangles by adding degenerate triangles. 3. Optimize computing positions of texture and color attribute. Benchmark: Drawing Bitmap(1152x768 px) with 200x200 meshes Performance is doubled (from 26.4 fps to 53 fps, Nexus10). Memory footprint: only 17% of original method. (from 240000 to 40401 vertices with xy, uv, rgba data.) Change-Id: I08c5c20d981d88528ce7b02012feefae468d6ec4 Signed-off-by: kui.zheng <[email protected]>
- Loading branch information
1 parent
2ff3b05
commit e7dff0b
Showing
1 changed file
with
54 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters