昨天小浅推送了一篇通过改分辨率来达到省电目的的教程,结果被机友们的两个问题给难住了。
省电大法——改手机分辨率通用教程
第一个还不是很难——为什么他的手机没有教程中所说的代码,根本改不了!
第二个问题就麻烦了——改分辨率省电吗?你真的试过吗?
今天小浅就将以上问题逐一解决
好了我们可以开始了
对于问题一,小浅找到了一个工具。叫镧·系统工具箱,这个工具很好用,以后会介绍的,今天就简单推荐一下,里面有一个分辨率与像素密度选项。
直接点进去修改,改完后重启手机就行,具体对应关系还是参考我上篇文章
对于问题二,小浅先亮观点吧——省电效果是有的
这个问题必须做测试才能回答,在这之前呢,需要分析一下为什么改分辨率可以省电
比如1080P改成720P,事实上你改的分辨率和实际买来的只有720P的手机是有区别的
在通常情况下,前者像素密度肯定会高于后者,这个是屏幕素质,无论怎么改都不会变的。因此,当我们改成720P的显示分辨率的时候,实际上屏幕上亮的点的个数不变,只是模拟了720P的显示
因此,改分辨率不能让屏幕的耗电得到改善。
然而,当我们改成720P的时候,cpu和gpu的负载会因此下降,因为它们所要计算的量下降了,这也是为什么降低分辨率能提升游戏fps的原因
既然负载下降,那么耗电是不是也会下降呢?会省电多少呢?
小浅设计了一个对比实验——刷淘宝
为什么没有选择游戏呢?因为游戏很容易让CPU满载,如果两个分辨率情况下CPU都是满载,那么耗电量就没有差异了,对比实验也就毫无意义了。
准备工作:
首先保证对比环境一致:保持手机亮度不变、关闭无关程序、删除程序耗电统计、制作一个自动刷淘宝的脚本工具,这样可以排除人为因素
前面简单,脚本其实也简单,但是经过实测,7.1用手机按键精灵真的很遭罪,各种bug,小浅花了好久才做出一个完整的测试过程
附上简单的脚本代码
Dim screenX
Dim screenY
Dim min
Dim t1
Dim t2
//设定脚本时间为30分钟
min=30
//获取屏幕分辨率,方便固定滑屏的路线
screenX = GetScreenX()
screenY = GetScreenY()
Delay 1000
//获得脚本开始运行的时间
t1 = TickCount()
//循环开始
Do
//向上滑动屏幕,循环20次
For 20
Swipe screenX/2, (screenY/2 + 300), screenX/2, (screenY/2 - 300)
Delay 100
Next
//向下滑动屏幕,循环18次
For 18
Swipe screenX/2, (screenY/2 - 300), screenX/2, (screenY/2 + 300)
Delay 100
Next
//计算当前脚本运行时间
t2 = TickCount()-t1
//如果时间达到30分钟则停止脚本,这里的min=30就是设定的时间
If t2 > 60000 * min Then
EndScript
End If
Loop
简单来说,脚本实现的功能就是不停地上下滑动淘宝页面,30分钟后停止
我只要一开始空淘宝程序的用电统计,然后等脚本运行完毕再看一下淘宝一共耗电多少就行了。
下面是测试结果
1080P下:
实际脚本运行30分钟,统计数据显示cpu总用时29分1秒,耗电82毫安时
720P下:
这里需要看一下,测试时间是13:23分
测试完毕时间是13:53分
为什么要贴出测试开始时间?因为我发现,在实际测试30分钟的情况下,电池统计的cpu总使用时间为23分40秒,这可能会引起大家的疑问。事实上,小浅又多测试了15分钟,才让这个cpu总使用时间达到了30分钟,因此这个时间没有参考价值。
所以小浅就不管这个数字了,一切以实际测试时间为准,这时候的耗电量为63毫安时
这时候就不难得出结论了:对于淘宝的日常30分钟使用,在1080P情况下耗电为82毫安时,在720P情况下为63毫安时,720P省电19毫安时。
如果将结果放大到8个小时,则变成了380毫安时,它可以在室内开自动亮度情况下,亮屏大概150分钟。(假设屏幕每分钟耗电2.55毫安时)
顺带说一句,720P情况下cpu的频率比1080P情况下的CPU频率低,但是总的CPU使用率基本保持不变,小浅的小米5在40%左右。
因为只做了一次测试,并不准确,仅供参考~有兴趣的小伙伴可以自己测试看看~
以上~
感谢观看~