After a month of testing in several roms, I decide to release the beta version!
It's almost same as the alpha version, but with several changes!
See the changelog!
This is not the real project butter introduced in Android Jelly Bean!
This is just compilation of tweaks!
All tested buy me, one buy one!
It is logical that adreno_config.txt is only for all those devices, which have the adreno graphics and qualcom cpu.
But down in the attachments you will find Project-Butter-for-ICS_v1.0 -Without_Adreno-Config-alpha2.zip,
This is for all other devices which doesn't have Qualcom CPU, and Adreno Graphic.
For those who doesn't know what is project butter please first watch this video: Project Butter
The code is for developers only, to implement it into there roms.
Down in the attachment will be the zip file for every regular user, if want to try it!
Files that I tweak are:
Some of this tweaks are well know for the Devs, but, as I could see checking all of the current known ICS roms for DS, are not!
#Grpahics & performances tweaks com.qc.hardware=true debug.sf.hw = 1 debug.composition.type=gpu debug.enabletr = true debug.qctwa.preservebuf = 1 debug.egl.hw=1 debug.egl.profiler=1 debug.performance.tuning=1 debug.gr.swapinterval=1 dev.pm.dyn_samplingrate=1 persist.sampling_profiler=0 persist.sys.NV_FPSLIMIT=60 persist.sys.ui.hw=1 persist.sys.use_16bpp_alpha=1 persist.sys.use_dithering=1 persist.sys.ui.hw=1 ro.max.fling_velocity=12000 ro.min.fling_velocity=8000 ro.sf.compbypass.enable=1 windowsmgr.max_events_per_sec=250 #Media quality improvements media.stagefright.enable-player=true media.stagefright.enable-meta=true media.stagefright.enable-scan=true media.stagefright.enable-http=true media.stagefright.enable-record=true ro.media.enc.jpeg.quality=100 ro.media.dec.jpeg.memcap=8000000 ro.media.enc.hprof.vid.bps=8000000 ro.media.enc.hprof.vid.fps=75 video.accelerate.hw=1 #Dalvik tweaks dalvik.gc.type=precise dalvik.vm.heapstartsize=5m dalvik.vm.dexopt-data-only=1 dalvik.vm.verify_bytecode=false dalvik.vm.jniopts=forcecopy dalvik.vm.dexopt-flags=m=v,o=y dalvik.vm.execution-mode=int:jit #Other Performance Tweaks ENFORCE_PROCESS_LIMIT=false persist.android.strictmode=0 persist.service.lgospd.enable=0 persist.service.pcsync.enable=0 ro.min_pointer_dur=1 ro.telephony.call_ring.delay=0 ro.sec.proximity.delay=0 ro.HOME_APP_ADJ=1
Use hardware-assisted binning. from binning=sw to binning=hw Updated Use 2D hardware BLTs. from 2D.HwBlt=0 to 2D.HwBlt=1 Enable tiled textures. Tiled textures are faster to render, but slower to load. from textureTiling=0 to textureTiling=1
remove the line: 0 0 android
mv /system//lib/egl/libGLES_android.so /system/lib/egl/libGLES_android.so.bak
For testing purposes only
I activate the MultiSampling Antialiasing (MSAA) in adreno_config.txt
MSAA may slowdown a bit the GUI due to exchange of the graphics performance!
Specify the multisampling antialiasing smoothing strategy. from MSAASmoothing=Normal to MSAASmoothing=High. Specify the allocation strategy for multisampling antialiasing buffers. from MSAABufferAllocation=on_demand to MSAABufferAllocation=always Force the MSAA antialiasing mode to the value in MSAAMode. from forceMSAAMode=0 to forceMSAAMode=1 Specifiy the antialiasing mode to use if forceMSAAMode is enabled. from MSAAMode=0 to MSAAMode=2
You can find the zip down in attachment!
Simply put in your sdcard, and flash it via any recovery!
Fixing buildprop.sh script. Now it'll make all changings in build.prop correctly! build.prop Setting windowsmgr.max_events_per_sec to reasonable 250 = SingleCore max adreno_config.txt Activating 2D Settings Activating tiled textures build.prop tweaks debug.composition.type=gpu persist.sys.NV_FPSLIMIT=60 dev.pm.dyn_samplingrate=1 persist.sys.use_dithering=1
If you get any scroling problems,
try changing debug.gr.swapinterval=0 to debug.gr.swapinterval=1
This will force the GPU rendering device to wait for the previews frame to be finished before pushing the next frame!
The framerate will be decreased, but you'll get more fluid graphic animations!
This is a standalone flash zip
I tried to activate vsync clock.
But it is likely this tweak does not change anything!
I simply activate vsync_clk in the kernel, but this depends on how the developer compiling the kernel you are using!
Tested with several ICS roms with Sense 3.6-4 / A, and amidabuddha tweaked kernel 8.0.
Strange, but any kernel abouve v8.0 doesn't change anything in the performances!
I've attached some print screen!