[XPERIA X8 Android Development] matmutant:
performance improvement program (GPU)

this post is dedicated to performance improvements (GPU)

despite drfr said :

i think we can get more of our devices ;)

in order to gain a little more performance, we can tweak the adreno config file, which rules the way the gpu handles things

when you change a single property, then perform a benchmark (only GPU 2D/3D on antutu, neocore and fps2D)

here is how the file looks :

; VERSION 6 -- Increment version when this file is changed
; P4 Version: $Revision: #26 $

for a start we will look at that part : ​

;##################################################################################################
; Features and Performance
;##################################################################################################

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Turn on Faceness (front face/ back face) generation and culling.
; Valid values:;
; default - (default) use the chip default for Faceness generation and culling.
; on - turn on Faceness (Front Face / Back Face) generation and culling.
; off - turn off Faceness generation and culling.
;
;facenessCulling=default
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Specify data alignment for Vertex Buffer Objects (VBOs).
; Valid values:
; natural - (default) use natural data alignment for Vertex Buffer Objects.
; dword - force double word alignment for Vertex Buffer Objects.
;
;vboDataAlignment=natural
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable or disable optimzed texture updates.
; Valid values:
; 1 - (default) enable optimized texture updates.
; 0 - disable optimized texture updates.
;
;enableOptimizedTextureUpdates=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable or disable optimzed vbo updates.
; Valid values:
; 1 - (default) enable optimized vbo updates.
; 0 - disable optimized vbo updates.
;
;enableOptimizedVboUpdates=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Force automatic texture compression (does not affect FBOs, EGLimage, or other user generated
; textures).
; Valid values:
; 0 - (default) do not force.
; 1 - do force.
;
;forceAutoTextureCompression=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Specify the Trijuice ratio. This is a ramping function between mip levels. Higher values
; reduce the cost of linear filtering between mipmaps.
; Valid values:
; 0 - (default) set to 0.
; 1 - set to 1/6.
; 2 - set to 1/4.
; 3 - set to 3/8.
;
;triJuice=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable inline constant updates. This is the default value.
; Valid values:
; 1 - (default) enable inline constant updates.
; 0 - disable inline constant updates.
;
;enableInlineConstantUpdates=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable the memory pool optimization for client side vertex arrays.
; Valid values:
; 1 - (default) enable the memory pool.
; 0 - disable the memory pool.
;
;enableMemoryPool=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable fast clears.
; Valid values:
; 1 - (default) enable.
; 0 - disable.
;
;enableFastClears=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Restrict fast clears to dithering-safe cases (clears which use colors that are not affected by
; dithering)
; Valid values:
; 0 - disable (default).
; 1 - enable.
;
;ditherSafeFastClears=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable GSL shadowing of GMEM in the application's color and depth buffers.
; Valid values:
; 1 - (default) enable.
; 0 - disable.
;
;shadowGmemInAppBuffers=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable tiled textures. Tiled textures are faster to render, but slower to load.
; Valid values:
; 1 - (default) enable.
; 0 - disable.
;
;textureTiling=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Force a preserve of Z and Stencil on swap.
; Valid values:
; 0 - (default) do not preserve.
; 1 - preserve.
;
;preserveZStencilOnSwap=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Allow use of depth export (gl_FragDepth) from fragment shaders.
; Valid values:
; 0 - (default) do not allow.
; 1 - allow.
;
;allowDepthExport=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable or disable untiling of dynamic textures
; Valid values:
; 1 - (default) untile dynamic textures on the fly
; 0 - never untile dynamic textures
;
;untileDynamicTextures=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Enable or disable the full surface update optimization path for dynamic textures
; Valid values:
; 1 - (default) create new surface instead of using the update path
; 0 - use update path for full surface updates
;
;fullSurfaceDynamicUpdatePath=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Use hints on whether or not to use GPU tiling BLT to update hw image during texture upload
; Valid values:
; 1 - (default) use GPU tiling hints
; 0 - don't use GPU tiling hints
;
;useGpuTilingHints=1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

we can also play with this : ​

;##################################################################################################
; MultiSampling Antialiasing (MSAA)
;##################################################################################################

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Specify the multisampling antialiasing smoothing strategy.
; Valid values:
; Normal - (default) use normal MSAA smoothing. This is the default value.
; High - use high MSAA smoothing.
;
;MSAASmoothing=Normal
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Specify the allocation strategy for multisampling antialiasing buffers.
; Valid values:
; on_demand - allocate MSAA buffer on demand. This is the default value.
; always - always allocate MSAA buffer.
; never - never allocate an MSAA buffer.
;
;MSAABufferAllocation=on_demand
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Force the MSAA antialiasing mode to the value in MSAAMode.
; Valid values:
; 0 - (default) do not force the MSAA antialiasing mode.
; 1 - force the MSAA antialiasing mode to the values in MSAAMode and MSAASmoothing.
;
;forceMSAAMode=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Specifiy the antialiasing mode to use if forceMSAAMode is enabled.
; Valid values:
; 0 - (default) do not antialias.
; 1 - use 2x antialiasing.
; 2 - use 4x antialiasing.
;
;MSAAMode=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

and this : ​

;##################################################################################################
; 2D Settings:
;##################################################################################################

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Use 2D hardware BLTs.
; Valid values:
; 1 - (default) use hw BLTs.
; 0 - do not use.
;
;2D.HwBlt=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Wait for chip to be idle before issuing SwapBuffers.
; Valid values:
; noidle - (default) do not wait for the chip to be idle before issuing a SwapBuffers.
; idle - wait for the chip to be idle before issuing a SwapBuffers.
; interrupt - do SwapBuffers in interrupt mode.
;
;2D.eglSwapMode=noidle
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Force the eglSwapBuffers interval to the value in 2D.eglSwapInterval.
; Valid values:
; 0 - (default) do not force.
; 1 - force.
;
;2D.forceEglSwapInterval=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Set the eglSwapBuffers interval to be used if 2D.forceEglSwapinterval is set to 1.
; Valid values:
; Int - Set the eglSwapBuffers interval to this value if 2D.forceEglSwapInterval is set.
;
;2D.eglSwapInterval=0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

we will keep the rest for a later time, and do not need to try debugging properties since they are only there for debugging purpose and not meant to be "used"​