I have The Tencent version of the Asus rog phone 2, I mainly bought it for battery life, I am not a gamer.
I also saw that some users report about excellent battery life while others suffer from battery drain issues.
In reality the battery life was similar to my previous Samsung Galaxy S8 Plus which had half the battery capacity.
The SOT was around 4-6 hours and the phone drained around 5-8 percent of battery per hour when it was suppose to sleep.
I tried BBS (Better Battery Stats), GSAM etc.
Eventually I found a solution, this solution is relevant to me and may not apply to others but it's worth a shot.
First off, your phone must be rooted and on Android 9 version.
Download Kirisakura-Kernel from XDA.
Download EX Kernel Manager.
Go to Tools - Block Wakelocks and see what is waking your device.
In my case a process called qcom_rx_wakelock kept my device awake and murdered my battery.
With the help of HomeSp we found that the reason for this is a device in my network that is sending packets over the network, there are 3 possible solutions:
1. For root users - Disable the qcom_rx_wakelock from the EX Kernel Manager program (This is what I did and I did not experience any issues).
2. For root users - Edit this file - /vendor/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini find the variant "hostArpOffload " and change the number from "1" to "0".
3. For non root users - Go to your router settings and under "Local Network" set IGMP snooping off. (this solution is less efficient).
In addition I disabled 2 more processes that drained my battery - "hal_bluetooth_lock" and "c8c000.qcom.qup_uart" (again with no apparent issues).
In addition I've downloaded the Universal GMS doze module from Magisk which is basically optimizing my battery for Google Play Services.
As I mentioned in the beginning this solution worked for me, your battery drain cause might be different but you can easily check what is keeping your device awake with the EX Kernel Manager (this processes wasn't shown in BBS or GSAM).
I am now getting 7.5-9 SOT and the battery drain around 1% per hour while idle.
I have Bluetooth on all the time and I am connected to a Smartwatch, Location is off and 120hz refresh rate.
I hope this guide would help others.