[ONE General] ZakariyyaaR:
My Comprehensive Profile - ZakR

I've been lurking xda for over three and a half years, gaining in-depth knowledge in various different fields and I'd like to say a massive thank you to every developer, maintainer, modder, moderator, programmer, themer and user out there for their contribution. I've now come to a point in time where I'd like to log in to xda and contribute a little something which I've fine tuned. Enjoy (:

My OnePlus One

Kernel Version: AK V136

UKM Version: UKM V3.8.1.1 Special Edition

ROM: Blisspop V2.2

Build date: 21st March 2015

GAPPS: PA Pico for Lollipop

GAPPS Compile date: 15th March 2015

Mods: Viper4Lollipop, Camera Next Mod V20, OPO Stereo sound V3

PVS Bin: 4

Speed Bin: 3

Synapse settings

CPU

CPU Frequency Scaling

CPU Minimum Frequency: 300MHz

CPU Maximum Frequency: 2457MHz

MSM Limiter

Disabled

(//After searching the interwebs about the two hotplugs given, cpu boost driver tended to have the upper hand*)

CPU Boost Driver

Enabled

Boost: 20ms

Sync Threshold: 1497MHz

(//Haven't found much on what exactly it means by sync threshold but lowering it has not not affected the performance*)

Input Boost: 50ms

Input Boost Frequency: 1457MHz

(//keeping the cpu at a stable frequency and reducing fluctuations in frequency steps is better than having it analyse the load, scale up and down rapidly and then predicting the next load. A responsive screen can be achieved at 1457MHz because there are less steps to scale from idle to 1457MHz than from idle to 1.8Ghz)

CPU Governor: Slim

(//This governor is heavily based on the elementalX kernel. I've carried out some experiments and found that this governor allows the cpu to get back to idle quicker than the interactive governor, both with stock settings*)

CPU Tunables: Stock

Hotplug

Intelliplug 5.0

Disabled (//Based on a first hand experience the fluidity in the scrolling, transitions, animations and response times were smoother with MSM MP Decision*)

MSM MP Decision

Minimum number of CPUs online: 1 (//I do not experience audio stutter)

Maximum number of CPUs online: 4 (// Personally speaking I keep it locked to 2 cores. The only time I would unlock the other 2 cores is when I'm playing GTA:SA or processing very slow shutter HDR pictures as they use complex mathematical algorithms and require all the power available. That being said, this is a profile for everyone out there and we're typically power users. We have 4 beast cores available so why not use all?)

Minimum number of CPUs online when screen is off: 1 (//I don't have any Bluetooth car systems, cloud syncing, audio playback, sound recording and streaming so if you prefer, knock this up to 2)

Start delay: 15000 (//The number of microseconds before the CPU checks whether to unplug or hotplug any of the CPUs. I slid it down by 5000 microseconds. This might make you think, the processor at high frequencies will check load more often but at idle frequencies, there is a much better response to a sudden high load because of the frequent checks, resulting in a more fluid CPU)

Unplug and Hotplug tunables: Stock (//Our amazing kernel developer has fine tuned these. Tweaking these without expertise will result in cores offlining and getting hotplugged at high loads, subsequently dramatically reducing device performance)

Thermal

Intellithermal

Disabled (//Default kernel settings came with it off which means AK doesn't use it)

Enable Core Control: On (//You want this on in case your CPU starts cooking your internal hardware)

Frequency Throttle Temperature: 65

Core Throttle Temperature: 70

Thermal Tunables: Stock

CPU Voltage

Stock (//My reasoning follows: If you can get very good battery life without decreasing power consumption which may or may not have an effect on stability, fluidity and longetivity, why fiddle? That being said, knock yourself out)

I/O

I/O: sio (//In my opinion based on reading up various input/output schedulers, sio has decent stability with adequate performance)

Read Ahead: 1024

GPU

GPU Frequency Scaling

Minimum Frequency: 200MHz

Maximum Frequency: 389Mhz (//I keep it as 389MHz and change it to 578MHz only when, you guessed it, playing GTA:SA or taking fine photography shots)

GPU Governor: msn_adreno_tz (//Best governor as it is stock, therefore the most optimised for the 330 GPU inside*)

GPU simple tunables: None enabled

Gamma

Values

Contrast: 260

Saturation: 280

Value: 260

CABC Control: Off (//Haven't played with the display settings much. Once I have, I'll be sure to update)

Other display tunables are stock

Sound Control

All three boosts:+2

High Performance Mode: Off (//Oddly enough, with high performance mode enabled there was no sound in my earphones. With viper4lollipop mod + DDC, I believe I don't need any higher quality*)

Memory

Z-Ram

Z-Ram: 0

Compression Algorithm: lz4

Maximum Compression Streams: 1 (//This is a stable profile. I'm currently experimenting with different number of compressions streams and different sized megabyte chunks to the Z-Ram)

Virtual Memory

Drop Caches: Enabled

Extra Free Kilobytes: 20000

Laptop Mode: Enabled

Memory tunables other than the ones above are stock

Wake

My ROM supports DTW and DTS, I have no need for other gestures besides the ones built in. I did try out the init.d scripts from the kernel but the result was terrible. After booting up, there was immense screen jittering. I enabled "show visual touches" in developer options and on the home screen I could see random touches at about 20 times a second. I thought this was due to some incompatible mod with kernel or ROM. I retraced my tweaking configurations and it dawned on me that the kernel gestures were the root of this mayhem. Anyone out there that has random touches on the screen, check to see if your kernel gestures are interfering with your ROM gestures.

Misc

TCP Congestion Control: Cubic

FSYNC: Enabled

Vibrator Intensity: 20 (//I like it less intense, if you know what I mean)

USB Fast charge:Enable

Fast Charge Level: 1500mA (//I use stock charger, if you use other OEM chargers or non-stock then knock this down to 1200mA)

ADV

Krait-C Settings: C1-C4 Enabled (//The processor is intelligent enough to fall deeper into sleep if each threshold is met. Forcing it to go straight to C4 state will just make it aggressive and increase the delay it wakes up. Those of you that need to finger-bump the screen a few times for it to wake, switch off C4 state)

Kernel Samepage Merging: Disabled (//It increases CPU consumption to improve memory. However, I believe we have a very efficient memory management and do not need to compromise by using the CPU)

Arch Power: Enabled

BUILD.PROP

WiFi Scan Interval: 300seconds

VM Heapsize: 512MB (//I had a question regarding this. Since Lollipop uses ART, wouldn't this make the dalvik machine redundant, therefore allowing any instance some memory would be useless? Please do educate me on this)

Allow purging of assets: Enabled

Tools

SELinux status: Permissive (//This is to allow Viper4Lollipop to function)

Optimise Databases on every new flash

* Your mileage may vary. Every device is different. This is my experience and opinions based on extensive research.

Personal Notes

I am in no way an expert at any of this. I highly appreciate any feedback, improvements, any questions and if there is something I believe in which isn't the case, please don't hesitate to point it out to me. I've spent the better part of 3 hours writing this up and currently it's 11 minutes to 1am. Forgive me for any mistakes. I hope this will benefit those users who lurk these forums and are confused about different tunables. I also aim to follow up with a more general phone tweak which I use to get the best out of this device.

Oh, I almost forgot. I get 6 - 8 hours of SOT including 3 hours worth of gaming, streaming videos, browsing, messaging, time-lapsing, basically power-using. I can't provide screenshots right now but I definitely will as soon as I get the chance. Thank you all for your contributions once again. Peace.

//Edit//

Corrected typos and sentence structure.

//Edit 2nd Revision//

Added zip file for synapse configurations for my profile. Uncompress zip file and place .tgz file in Storage>Synapse>saved_profiles.