• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root Build.prop Performance Tweaks - Updated 04.14.2012

Chairshot215

Android Expert
Aug 20, 2011
767
669
Hey everybody, just wanted to share the below build.prop performance tweaks. I have been using them for some time now trying different values to see what works the best. From what I have been able to tell any difference made using these tweaks is most noticeable using Stock or a Stock based Roms. Performance wise I would not expect to find the Holy Grail within these lines but they do seem to make a difference and can help with a few minor annoyances. Feel free to test them out and let everyone know what you think, at your own risk that is.


General Performance
debug.sf.hw=1
Edit existing line,
dalvik.vm.heapsize=48m
persist.sys.ui.hw=1

Faster Scrolling
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000


Saves power
ro.ril.disable.power.collapse=1
pm.sleep_mode=1
windowsmgr.max_events_per_sec=60
wifi.supplicant_scan_interval=180


*If you don’t keep Wi-Fi active lowering the value below the default of 90 seems to make Wi-Fi connect faster after being turned on but will consume more power if turning Wi-Fi off has been forgotten when not in range of a known network.

ro.mot.eri.losalert.delay=1000

*Should smooth out disconnects and reconnects, saving battery. Seems to brake tethering with CM7, let me know if anyone else experiences this issue.


Raises quality of images
ro.media.enc.jpeg.quality=90
[FONT=&quot]ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
[/FONT]


Increased Media & Streaming Performance
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=false
media.stagefright.enable-http=true
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960 net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
[FONT=&quot]net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
[/FONT]
net.tcp.buffersize.evdo_b=4096,87380,256960,4096,16384,256960


*Note: I don't know why but the forum is placing spaces in the above lines that are not there. The last 3 are for data speeds but have been places here to avoid multiple explanations for the spaces. The spaces are not present when I edit and have even tried retyping them in Word and then pasting the lines in but it still shows the spaces after saving, kind of frustrating. The ends for the above lines should all be the same ending values for each line ([FONT=&quot]=4096,87380,256960,4096,16384,256960).[/FONT] I don’t know why but for whatever reason anytime I save the post the spaces appear.



Disable error checking (Should speed things up a bit)
ro.kernel.android.checkjni=0
ro.kernel.checkjni=0


Disable sending usage data
ro.config.nocheckin=1


[FONT=&quot]To make the phone ring faster when dialing out[/FONT]
[FONT=&quot]ro.telephony.call_ring.delay=0[/FONT]

Disable black screen issue after call (Thanks to Whyzor for finding why looking into the other tweaks)

ro.lge.proximity.delay=25
mot.proximity.delay=25

Disable USB Debugging icon from Status Bar. (Just the Icon, debugging remains enabled.)
persist.adb.notify=0

makes apps load faster and frees more ram. (Edit exsisting line)

dalvik.vm.dexopt-flags=m=v,o=y

Improve 3g data speeds

ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5


Wipe both Caches in Recovery after adding or changing the above lines.

If you have used the 3g script put out by the developer of theV6 Turbocharger script then they have already been applied to your device.


Next few can be found in the CM7 Performance settings but am including them in case someone would like to use them on another Rom like Miui.

Lock Home Screen into memory
ro.HOME_APP_ADJ=1

Use Jit (Dalvik just-in-time compiler)
dalvik.vm.execution-mode=int:jit

Enable Surface dithering (Improves image quality at the cost of performance)
persist.sys.use_dithering=1

Allow purging of assets (System can free more Ram when needed)
persist.sys.purgeable_assets=1

Disable animation for faster startup
[FONT=&quot]debug.sf.nobootanimation=1[/FONT]





To apply any of the above Tweaks you will need a File Explorer with Root Permission. I use Root Explorer so the below steps are assuming Root Explorer is being used. This can also be done using ADB or QtADB; if ADB would be preferred in place of a File Explorer then you probably do not need directions for doing so. You will find instructions for using the QtADB interface below. It is also important to check that any of these lines have been included with your Rom as I know since posting these originally some have now been worked into a few custom Roms for the Triumph.


1, Navigate into the system folder.


2, Mount the folder as R/W by tapping on the Mount R/W tab found at the top of the screen.


3, Long press on the Build.prop file and select open with text editor.


4, Add desired lines at the bottom of the script.


5, Tap menu key and select save and exit. The original Build.prop will be saved as Build.prop.bak.


6, Save the file in safe place just in case you would like to switch back


7, Reboot!
Please note that on occasion a 2nd reboot was required for the tweak was applied, USB debugging notification for example. Unless noted I have not had any issues with these lines breaking anything. With that said I also wipe both the Dalvik and Cache Partitions when performing the reboot.


This can also be done very easily using QtADB for those who are not familiar with ADB. QtADB can be installed in a few minutes by following the directions provided in the link below.

http://androidforums.com/triumph-all-things-root/494579-adb-gui-noobs.html

Once installed among many other very useful features this will give you the ability to just drag and drop the Roms Build.prop file onto your computers desktop, open the file in notepad or on other text editor, add the desired lines and then drag & drop the modified Build.prop file back into the system directory on the Triumph and reboot the phone all on your computer and without actually touching the device.

Before giving more details on how to use QtADB for the purpose of modifying the Build.prop having ADB in some form or another can be very helpful in general. One example is that after updating to CM7 one of my favorite Apps would FC when started. I was able to do a logcat with ADB and send it to the developer of the app. Based on the information provided in the logcat the developer was able to fix the issue in the next release. Anyway it’s very simple so here we go,



1, select /system/ from the dropdown outlined above in Red.


2, Drag and drop the Build.prop file highlighted Blue into the adjacent area on the left, follow the blue arrow. I have desktop selected for easier navigation but ware on the computer the file is moved does not matter as long as you remember where the file has been moved. Changing the location the file is saved is as easy as selecting the directory from the dropdown like was done with the Red outlined box in the first step above.



3 open the build.prop file now located on your computer inside notepad or another text editor, add the lines you would like to use at the end of the text file and then save. In notepad you may need to select Word Rap from the format tab from the menu at the top of the Notepad Window for the file to display correctly. I use notepad ++ and never have issues with the file displaying incorrectly. Would highly recommend making a copy of the original build.prop before editing and keeping in a safe place before editing the file.

Notepad++ can be downloaded here,



http://notepad-plus-plus.org/download/v5.9.8.html




4, once we have made our edits it’s time to move the modified file back to the Triumph. Drag and Drop the modified Build.prop back into the devices system folder. Follow the blue arrow from the below example.




5, after the file has been moved back into the system folder select the Shell tab outlined in the black box.


6, Type reboot into the command line and your Triumph will now reboot using the modified Build.prop. Please note that on occasion a 2nd reboot was required for the tweak was applied, USB debugging notification for example. Unless noted I have not had any issues with these lines breaking anything. With that said I also wipe both the Dalvik and Cache Partitions when performing the reboot. If you would like to wipe caches just type "reboot" recovery into the command line.

I also came across this App for editing the build.prop. I don't have much experience with the App but if anyone would like to check it out,

https://market.android.com/details?id=com.joeykrim.buildpropeditor



These are lines that I am either currently testing or plan on testing. If anyone would like to quicken the process feel free to try them and let everyone know how they work out. Again, at your own risk. I have not tested the majority of the below lines, much less research what they exactly do. The little notes on the side are more of a guideline of what to be looking for if tested and do not guarantee they will not do anything. Just picked them out as ones I found interesting from other Forums around the Web. So basically if you do not feel comfortable recovering from a boot loop just wait it out.


debug.qctwa.statusbar=1 (qualcomm device specific)
debug.qctwa.preservebuf=1 (qualcomm device specific)
debug.qc.hardware=true (qualcomm device specific)
com.qc.hardware=true (qualcomm device specific)

ro.telephony.sms_segment_size=160

persist.telephony.support.ipv6=1

persist.telephony.support.ipv4=1

ro.config.hw_fast_dormancy=1

persist.sys.shutdown.mode = hibernate

ro.config.hw_power_saving=true

ro.media.enc.hprof.vid.fps=65

ro.config.vc_call_steps=20 (Makes more volume steps in calls and a little louder.)

dalvik.vm.dexopt-flags=v=n,o=v

dalvik.vm.checkjni=0

debug.egl.profiler=1

debug.egl.hw=1

ro.ril.enable.amr.wideband=1 (better in call voice quality)

ro.mot.hw.HAC=1

ENFORCE_PROCESS_LIMIT=false

persist.sampling_profiler=0

ro.min_pointer_dur=5

ro.config.nocheckin=1

profiler.force_disable_err_rpt=1

profiler.force_disable_ulog=1

debug.kill_allocating_task=0

dalvik.vm.dexopt-flags=m
 
Wow, I swear it already had these in build.prop. I knew it had these tweaks, but I thought Isaac and Tickerguy added them already, since it would be common sense to add them. Though media.stagefright is unneeded on gingerbread, only used on Froyo; and keeping Launcher in memory helps the Launcher but when the launcher consumes a lot of memory this actually slow down the phone.

I had changed these in Princely ROM, max_events_per_sec to 240, and ro.media.enc.jpeg.quality to 200, scan_interval to 90, and I don't know why Isaac or TG changed the heap size to 32 when it was originally 48. Going with lower number for some of these would increase performance, but going to low would be pointless and would kill multitasking...
 
Upvote 0
Thanks for this, I did some searching, and the these entries:

debug.performance.tuning=1
video.accelerate.hw=1

doesn't do much from what I can tell on the MT.

Tried setting this one to 150 & 30, don't notice much difference:

windowsmgr.max_events_per_sec=180

I suspect having it too high may allow the CPU to spend too much time refreshing the display rather than idling (saving battery power) or process other threads. I'm going to leave it at 30 for my own personal testing.

These require more testing to see if they make any difference:

ro.ril.disable.power.collapse=1
pm.sleep_mode=1

Below value is the number of seconds to wait for auto-scan wifi, but only if wifi is on and NOT connected to an AP. I normally toggle wifi on when I know there's a hotspot nearby, otherwise off. This potentially could save power if accidentally left wifi on and you're roaming around.

wifi.supplicant_scan_interval=180

Also in my research found this setting to fix the blank screen after the other end disconnects a call:

mot.proximity.delay=150
 
Upvote 0
Thanks for this, I did some searching, and the these entries:

debug.performance.tuning=1
video.accelerate.hw=1

doesn't do much from what I can tell on the MT.

Tried setting this one to 150 & 30, don't notice much difference:

windowsmgr.max_events_per_sec=180

I suspect having it too high may allow the CPU to spend too much time refreshing the display rather than idling (saving battery power) or process other threads. I'm going to leave it at 30 for my own personal testing.

These require more testing to see if they make any difference:

ro.ril.disable.power.collapse=1
pm.sleep_mode=1

Below value is the number of seconds to wait for auto-scan wifi, but only if wifi is on and NOT connected to an AP. I normally toggle wifi on when I know there's a hotspot nearby, otherwise off. This potentially could save power if accidentally left wifi on and you're roaming around.

wifi.supplicant_scan_interval=180

Also in my research found this setting to fix the blank screen after the other end disconnects a call:

mot.proximity.delay=150



Looking around I have seen windowsmgr.max_events_per_sec=180 also set at 150. I too did not notice a difference between the two.

I have also seen ro.ril.disable.power.collapse=1 set at 2 but as of yet have not tested with that value. Think I
 
Upvote 0
I just want to be certain these values do something. A lot of them came from one specific device or another in the past, and maybe the source code tries to read the value before setting a default, it may have changed through the Android OS versions, or not apply for all devices such as the MT.
 
Upvote 0
I just want to be certain these values do something. A lot of them came from one specific device or another in the past, and maybe the source code tries to read the value before setting a default, it may have changed through the Android OS versions, or not apply for all devices such as the MT.


[FONT=&quot]I was also interested in doing some sort of simple interface. Only been taking classes for a minute now and would like to do something that is not assigned and will keep my interest as I tend to not finish what I start otherwise. This may not be it but I have a few other ideas that could be helpful for MT users but still in my league time frame wise. I have the confidence to go outside my skill level as just about any answer to any question can be found using the rectangular box on the top of my screen. Would just be nice to finish why they still make phones and we are not communicating with each other via brain implant chip. [/FONT]
 
Upvote 0
How do you add the ones that aren't already there, just add them at the end?


Just a heads up,

I’m not sure at this time what line causes this but when adding the lines at the bottom of the script, mobile data will need to be turned on manually after rebooting. When I originally found and tested most of these tweaks they had been pulled from modified build.prop files and I had placed the lines in the Triumph build.prop in the same areas as they had been placed on the file for the other devices. It was not until later after doing multiple tests changing lines and values that I started to just add the lines at the end of the file. After I started doing this the first boot after adding the lines you would need to go into the wireless settings and turn on mobile data. When I have a chance I will test each line one at a time to figure out which tweak is responsible for this. I did a quick logcat and it looks like the reason is that during boot up the service provider has not yet been detected at the time it wants to turn on mobile data so it skips turning on 3g. Is on my list of things to do on my vacation that is starting today, woo woo woo, you know it.
 
Upvote 0
found this on another forum, been testing it, getting "slightly" better ping and about 20-30Kbs better speed with 3-4 bars [tower is 300 meters away]

#Faster 3G
ro.ril.enable.dtm=1
ro.ril.gprsclass=12
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=20
ro.ril.hsupa.category=6
ro.ril.hsxpa=3
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
 
Upvote 0
found this on another forum, been testing it, getting "slightly" better ping and about 20-30Kbs better speed with 3-4 bars [tower is 300 meters away]

#Faster 3G
ro.ril.enable.dtm=1
ro.ril.gprsclass=12
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=20
ro.ril.hsupa.category=6
ro.ril.hsxpa=3
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960

Did some research on some of those entries.

ro.ril.enable.dtm=1
http://forum.cyanogenmod.com/topic/9781-buildprop-roril-meanings/
(Dual Transfer Mode)(ro.ril.enable.dtm : Only set this to 1 if your network allows simultaneous transfer of Circuit switched (CS) voice and Packet switched (PS) data over the same radio channel (ARFCN).
I'm not sure if VM allows this or if it's already enabled or not by default.

ro.ril.gprsclass=12

GPRS classes and coding schemes
The best value for this is the fastest class that our phone supports, need more research here.

ro.ril.enable.3g.prefix=1
build.prop ro.ril meanings - CyanogenMod Forum
(=1 shows "3g" on lock screen next to network name, =0 does not)
So this is apparently nothing more than a cosmetic change.

ro.ril.hsdpa.category=20
and
ro.ril.hsupa.category=6
http://en.wikipedia.org/wiki/High-Speed_Downlink_Packet_Access#User_Equipment_.28UE.29_categories
http://en.wikipedia.org/wiki/High-Speed_Uplink_Packet_Access
build.prop ro.ril meanings - CyanogenMod Forum
The best values for these entries are likely the highest category our chipset, the MSM8655, can support, which seem to be 10 and 6 respectively.

ro.ril.hsxpa=3
build.prop ro.ril meanings - CyanogenMod Forum
ro.ril.hsxpa=3 - xda-developers
[TWEAK: GSM ONLY] Boosting Signal Strength with "ro.ril" props (HSxPA/GPRS/EDGE)
ro.ril.hsxpa=0 – UMTS r99
ro.ril.hsxpa=1 – HSDPA
ro.ril.hsxpa=2 – HSDPA/HSUPA

There doesn't appear to be any difference between "2" and "3".
The third source offers this information:
[0=UMTS] [1=HSDPA only] [2=HSDPA & HSUPA] [5=No significant information has been found but it make the switch between WiFi and HSxPA nearly instantaneous (note works like "2" but better)]
After setting this to 5, the phone does seem to switch from Wifi to 3G almost instantly (under a second), and while connecting to Wifi still takes a bit, it no longer seems to take an unnecessarily long amount of time. I'd appreciate it if someone else can also test this and confirm (or deny.)

More info:
[TWEAKS][SCRIPTS] Collection - Android-Hilfe.de

Edit:
These sites:
http://www.celularesblackberry.com/BLACKBERRY-PORSCHE-9981-BLACKBERRY-9981-PORSCHE.htm
http://www.mixolala.com/blackberry-porsche-design-p-9981

display a phone using our MSM8655 Snapdragon S2 processor, and that page says its max download speed is 14.4 mbps, which looks like HSDPA cat 10, and upload speed of 5.76, or HSUPA cat 6. Same story at

http://en.wikipedia.org/wiki/HTC_Desire_HD

Although the Desire HD has an MSM8255.
 
  • Like
Reactions: Chairshot215
Upvote 0
Did some research on some of those entries.

ro.ril.enable.dtm=1
http://forum.cyanogenmod.com/topic/9781-buildprop-roril-meanings/
(Dual Transfer Mode)(ro.ril.enable.dtm : Only set this to 1 if your network allows simultaneous transfer of Circuit switched (CS) voice and Packet switched (PS) data over the same radio channel (ARFCN).
I'm not sure if VM allows this or if it's already enabled or not by default.

ro.ril.gprsclass=12

GPRS classes and coding schemes
The best value for this is the fastest class that our phone supports, need more research here.

ro.ril.enable.3g.prefix=1
build.prop ro.ril meanings - CyanogenMod Forum
(=1 shows "3g" on lock screen next to network name, =0 does not)
So this is apparently nothing more than a cosmetic change.

ro.ril.hsdpa.category=20
and
ro.ril.hsupa.category=6
High-Speed Downlink Packet Access - Wikipedia, the free encyclopedia
High-Speed Uplink Packet Access - Wikipedia, the free encyclopedia
build.prop ro.ril meanings - CyanogenMod Forum
The best values for these entries are likely the highest category our chipset, the MSM8655, can support, which seem to be 10 and 6 respectively.

ro.ril.hsxpa=3
build.prop ro.ril meanings - CyanogenMod Forum
ro.ril.hsxpa=3 - xda-developers
[TWEAK: GSM ONLY] Boosting Signal Strength with "ro.ril" props (HSxPA/GPRS/EDGE)
ro.ril.hsxpa=0
 
Upvote 0
found this on another forum, been testing it, getting "slightly" better ping and about 20-30Kbs better speed with 3-4 bars [tower is 300 meters away]

#Faster 3G
ro.ril.enable.dtm=1
ro.ril.gprsclass=12
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=20
ro.ril.hsupa.category=6
ro.ril.hsxpa=3
net.tcp.buffersize.default=4096,87380,256960,4096, 16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163 84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163 84,256960
thanks so much for research...
 
Upvote 0
If someone can narrow down what actually makes a difference on the MT, I'll include it in the next CM7 Reloaded build. It can be time consuming because it requires testing before & after the change, and ideally more than 1 test sample in each case. VM's network is flaky and can vary wildly depending on time of day and location.

The net.tcp.buffer lines seem to have typos. the '163 84' shouldn't have a space in between.

So far only these look promising, assuming they even change what's already set as default.

ro.ril.hsdpa.category=10
ro.ril.hsupa.category=6
ro.ril.hsxpa=5
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones