Build.prop Performance Tweaks - Updated 04.14.2012


  1. Chairshot215

    Chairshot215 Well-Known Member Developer

    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,

    [​IMG]

    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.

    [​IMG]


    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

    Advertisement
  2. Austrie

    Austrie Well-Known Member

    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...
  3. Whyzor

    Whyzor Well-Known Member

    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
    weddle and Chairshot215 like this.
  4. frdmspoplr

    frdmspoplr Well-Known Member

    How do you add the ones that aren't already there, just add them at the end?
  5. Whyzor

    Whyzor Well-Known Member

    yes, be sure to mount the filesystem rw first.
    Chairshot215 and frdmspoplr like this.
  6. Chairshot215

    Chairshot215 Well-Known Member Developer

    I Should probably add that to the op.
  7. Chairshot215

    Chairshot215 Well-Known Member Developer



    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
  8. Whyzor

    Whyzor Well-Known Member

    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.
  9. Chairshot215

    Chairshot215 Well-Known Member Developer


    [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]
  10. AllaboutGirls

    AllaboutGirls New Member

    Definitely getting better battery life and seems much more responsive doing this with Rooted Stock.
    Chairshot215 likes this.
  11. Prey521

    Prey521 Well-Known Member

    Does this also apply to the CM9 build prop or only for CM7?
  12. Chairshot215

    Chairshot215 Well-Known Member Developer

    I would be a lying if I told you I had any idea. They seem to work or at least not harm anything when added to either Froyo or Gingerbread, probably the same with ICS but I have not tested yet so would not be able to give a reliable answer.
  13. millenium

    millenium Well-Known Member

    WOW i did the jpeg tweak (200) and talk about crisp clear pics!!! can it go any further than 200, im scared to try..
  14. Chairshot215

    Chairshot215 Well-Known Member Developer

    You probably can but I would take into consideration that there is probably a maximum to what our phone can display so there is probably a number that going above won
  15. Chairshot215

    Chairshot215 Well-Known Member Developer


    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.
  16. millenium

    millenium Well-Known Member

    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
  17. aricblunk

    aricblunk Well-Known Member

    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.
    Chairshot215 likes this.
  18. weddle

    weddle Well-Known Member

    So if I wanted to try to make my wifi connect faster would I only need to add the Ro.ril.Hsxpa=5 line? Or the whole group of lines mentioned above? Forgive my nubbiness
  19. aricblunk

    aricblunk Well-Known Member

    Correct, just ro.ril.hsxpa=5
    weddle likes this.
  20. weddle

    weddle Well-Known Member

    Thanks for responding! I may venture into build.prop editing land tomorrow or today or whatever when I wake up again lol
  21. tlopez1973

    tlopez1973 Well-Known Member

  22. tlopez1973

    tlopez1973 Well-Known Member

    thanks so much for research...
  23. AtticTRON

    AtticTRON Well-Known Member

    Anyone have a build.prop with all the tweaks they can upload to easily zip?
  24. Whyzor

    Whyzor Well-Known Member

    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
  25. weddle

    weddle Well-Known Member

    I'm not really sure how to test the ro.ril.hsxpa=5 other than timing how long it takes to connect to wifi before and after, but if that will suffice I plan on doing it tonight and can post my data afterwards if you'd like

Share This Page