欢迎光临散文网 会员登陆 & 注册

使用Power Automate Desktop创建流统计无线鼠标电池实际续航耐久度

2023-09-03 06:42 作者:SSD罐头  | 我要投稿

前言

厂家总说自己的鼠标的无线使用时间有多长多长,但是实际测试下来,感觉具体的耐久度、续航并没有那么多。尤其是雷蛇!在换了7号电池之后,一个电池最多就半月左右的寿命。相比之下罗技的鼠标省电多了。这就是两家无线技术的差距吗?

长期用过两个无线游戏鼠标(非游戏鼠标及蓝牙鼠标不算,DPI太低了),一个是罗技G304/G305(海外型号),一个是雷蛇OROCHI 八岐大蛇 v2。用了罗技一段时间之后换了好几次微动(手感、老化等原因),也用了7号转5号套筒,和耐时一次性锂电池减重,但感觉还有点重,不考虑轻量化方案,一太贵,另一是3D打印的外观如果不花精力处理,看着还是不太行。且由于自己是小手,所以想找个轻一点、小一点的,在试用过狗屁王(G Pro Wireless,GPW)后,感觉还有点大,就换了八岐大蛇。

八岐大蛇使用7号一次性锂电确实非常轻,不到70g。但是!!!电池耐久度太太太差了。印象中前几节7号锂电也就用了十来天?原来罗技8颗电池用了近一年半,约两个多月一节电池。NGA上也有玩家说到了类似的体验。而罗技的官方说明中,一节AA电池(5号)的使用寿命为250小时

罗技G304的官方电池寿命描述

官方的数字和实际体相比,似乎比较吻合,甚至实际更长?罗技在官方的图示中也大胆地给出Hero引擎傲视群雄的位置。虽然总是有人在吐槽这颗引擎的性能不佳。但对一个非骨灰级玩家来说,有1000Hz的回报率,长久的续航已经非常OK了。

罗技Hero引擎的能力

而长续航的秘密,罗技在网页中说其可以动态“帧率管理”,可能因此罢。大约可看出这种功能会对鼠标性能有影响,但从平常使用看,似乎没有可见影响。

这就是省电的秘诀吗

精彩的是,雷蛇的电池寿命,官方描述中达到了惊人的425小时!!并且官方计算中,按照7号电池、2小时游戏、6小时其他用途设置,给出的参考续航也有25天。那么雷蛇的续航数据,到底是依赖何种黑科技得出的?诺奖级电池技术?推翻能量守恒定律的逆因果技术?

自信满满的25天续航

可见,官方理论续航值,雷蛇堪比俩罗技;实际上,罗技竟然顶至少四个雷蛇!吓得我我赶紧查了一下他们的市值:

罗技顶三个雷蛇,好像没什么毛病

2.99B相比9.73B,罗技好像是三个雷蛇?不出所料,虽然雷蛇被私有化停牌了,但停牌前的价格还是有参考意义的,CHF和EUR的汇率也基本是相同的(1:1.05)。且停牌到现在罗技的股价变动也不是很大(58->61.52)。虽然市值只能做参考,但罗技作为外设一哥,花里胡哨可能一般,令人xx的作品也不少,某些产品售价确实有些过于离谱,但不可否认的是,在这个颜值为王,好看第一的时代,罗技的产品在各方面还是具有其独到之处的(都这么吹了为啥还用雷蛇?)。

见微知著,花里胡哨并不能提升一个公司的核心技术啊(对雷蛇的印象就是花里胡哨的RGB键盘,不过他家的笔记本确实做工非常好,当然价格也非常感人),还是在技术和细节、产品规划、设计定位上更进一步才能更得消费者青睐。

那么,雷蛇为何说自家产品续航这么长?实际和宣称又能差多少?首先介绍一下非必须工具。

Power Automate Desktop简介

历史,缘由,家族,开发公司啥啥啥啥的就不说了,动动小手搜一搜。Windows11如果是新版系统,一般会遭到微软巨硬的强制推销而自带一个,Windows10需要手动安装一个。

官方下载链接在此(百度三四页都翻不到有用的):

https://go.microsoft.com/fwlink/?LinkId=2102613

考虑到国内复杂的网络环境,如果官方链接下不动的话,并且信任该链接的话,可以用这个链接(但是版本不会更新(2023.09.03,SHA-1:e7df8ee6f75427d0ed33d23d91dc03b284f3a6c5),因此建议用小技巧去官方网址下载):

https://moonc.top/alist/d/local/Setup.Microsoft.PowerAutomate.exe?sign=egcdCd60CrzC4cqfamk_2czDHFGFC6MLk_JKBj-odJ8=:0

Power Automate Desktop安装及创建流

默认安装即可,但使用必须登陆微软账号,好处是可以自动同步;坏处,很少有人在系统上用微软账号登陆/注册使用微软账号叭?不过Microsoft 365(Office 365)家庭版一年小于299,6人拼车均50,正版Office和1TB的Onedrive,不香吗。

装完后打开主界面-->新建流,稍等片刻,这破软件UI卡的很。

填入名称点“创建”

弹出对话框输入名称,“坐,和放宽”十几秒,在弹出的下图新窗口中间,复制进后文代码块中的代码,左上角保存即可。

编辑流的主窗口

复制后,如果不出意外的话(确实有意外,下面讲)可以看到类似的效果:

复制进去的代码会自动生成如图所示的格式

从左边的列表可以看到:Office、剪贴板、邮件、键盘鼠标自动化、脚本导入、UI自动化、窗口交互、浏览器自动化等等等等一大堆功能。有兴趣可以试试其他一些好玩的功能,尤其对于Excel来说,一些简单的功能就不用VBA来做了,提高生产力数倍;甚至浏览器自动化也可以实现一些奇技淫巧;最有意思的当属UI自动化的无限潜力。

废话和免费的推荐讲完了,以下正文。

创建自动化流

425小时,这种谎言一定要揭穿。那么,如果要知道鼠标实际工作的时间和频率,以及处于什么耗电状态,有哪些办法呢?

  1. 联系厂家,让他们重新对鼠标的控制芯片编程,使其可记录鼠标各项状态,保存至板载内存,用自家的控制软件调用即可(怎么可能)。

  2. 或,通过抓取USB通讯的某些内容,得知当前鼠标耗电状态、鼠标回报率等等?如果可行,定会获得准确的结果。

  3. 使用方便的自动化工具。捕获鼠标当前坐标,比较和(理论)1秒前的鼠标位置是否有发生变化。①如果没有发生变化,则累加鼠标活动时间截至鼠标休眠(雷蛇鼠标默认休眠时间5分钟,罗技经热心网友测试也是5分钟),鼠标未移动时间也同时增长,并单独累计鼠标未移动但处于休眠前的时间。②如果鼠标位置发生变化,则只增加鼠标活动时间,并清空用于单独累计鼠标未移动但休眠前的临时变量。③一直循环上述过程,每次循环都向D盘根目录的“MouseMovingTime_2023.9.2.22.50.log”这种名称的文件中,覆写上述变量、其他一些可能用到的数据。

那么肯定是选择方案3嘛。Windows上的自动化工具,最好用的还是微软自家的Power Automate Desktop啦。虽然有诸多限制,肯定不如自己写程序灵活,但简单、快捷,只可惜执行效率比较低、软件比较卡。

差不多半小时搞出来一个可用的小“程序”(写文章忙活了五小时-_-),具体如下(在PAD中新建流程粘贴进去看可以用了):

这里出现了一个意外,上面的代码块中,只要出现引号内“$'”两个字符连在一起的情况,就会导致代码块生成内容出错,似乎只在电脑浏览器出现该问题(该问题现在已经修复,上面的代码正常了),具体如下:

唉,怎么说才好

惊不惊喜,意不意外?如果出现上面代码复制到PAD中没反应的情况,请检查自己复制内容是否出现了上述问题。是的话,请替换“codeholder_1amp;#39;”为“$'”。问题已经反馈,等待B站修复叭。

妥当复制进去,正确生成内容,保存关闭窗口即可。

在主界面点击运行按钮开始运行,如下所示:

正在运行的状态

如果想快捷键运行,点三个点,“属性”中添加快捷键即可。也可添加桌面快捷方式运行(其实就是属性中的“运行url的快捷方式”,以“ms-powerautomate:/”开始,结尾source=Shortcut,但不影响自启动)。

可以添加到桌面快捷方式

但PAD不支持开机自动运行流,这算一个非常不友好的地方,可能微软有自己的算盘。不过嘛,有曲折的办法可以让流自启动。

曲折的流的自启动

按WIN+R,输入“shell:startup”,打开现有用户的自启动文件夹,把PAD创建在桌面上的快捷方式放入。这时候,重启电脑流是不会运行的。因为这个文件夹里面的快捷方式启动,是和电脑中其他自启动程序一起启动的。很显然,这个快捷方式找不到目标程序就没办法启动。所以,让其他程序的自启动延迟(同时延迟了快捷方式的运行),用“任务计划程序”使PAD手动先于其他自启动程序,其他程序自启动时,就可以正常自动运行流了。

首先应该在“任务计划程序”生成PAD在“任何用户登陆时”自启动的计划即可。

然后在注册表中使用以下文件注册键值(复制保存为xxx.reg):


注意,60000即60秒后自启动应用程序。可以观察登录后多久PAD完成了自启,然后选一个比自启时间大的值。

到此差不多整个流程就完成了。只需要在换电池的时候记下开始时间。可以更改流中生成文件的路径或者命名规则,使其可以识别什么时候开始记录的,电池用完后,手动统计一下生成的所有文件的总时间(理论上)即可。

生成结果解读

成功后,打开目标路径下的“MouseMovingTime_xxxxx.log”文件,生成结果大概如下:

实际耗电时间是包含了鼠标没动但是未进入休眠状态前的总时间;实际动作时间即鼠标按1秒累加在你手里动了多久;鼠标停止时间是在从脚本开始运行,到结束的整体时间内,按秒累加计法下有多久没有动;鼠标未动但处于活动状态耗电的时间是如题,仅统计其未做实际功的时间。

一目了然。

但是,可惜的是,PAD的执行效率比较低效,可以从最后一行看出(其实不要也行),实际按秒累计的时间,要比程序运行的时间短很多,这个值在我电脑上基本是固定的,大概是%5Cfrac%7B%E7%A7%BB%E5%8A%A8%E6%97%B6%E9%97%B4%2B%E5%81%9C%E6%AD%A2%E6%97%B6%E9%97%B4-%E9%BC%A0%E6%A0%87%E6%9C%AA%E5%8A%A8%E4%BD%86%E5%A4%84%E4%BA%8E%E6%B4%BB%E5%8A%A8%E7%8A%B6%E6%80%81%E7%9A%84%E6%97%B6%E9%97%B4%7D%7B%E8%84%9A%E6%9C%AC%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%7D%20%5Capprox%20%5Cfrac%7B7859%7D%7B8973%7D%20%5Ctimes%20100%5C%25%5Capprox%2087.58%5C%25,随时间递增,上下浮动不超过1%,也就是说按1秒循环的程序,在其他地方花费的时间差不多0.12秒。

在现有数据的前提下,为了使统计结果更准确,可以把这12.42%的时间按%5Cfrac%7B%E5%AE%9E%E9%99%85%E5%8A%A8%E4%BD%9C%E6%97%B6%E9%97%B4%7D%7B%E5%AE%9E%E9%99%85%E5%8A%A8%E4%BD%9C%E6%97%B6%E9%97%B4-%E9%BC%A0%E6%A0%87%E5%81%9C%E6%AD%A2%E6%97%B6%E9%97%B4%7D%20%3D%5Cfrac%7Bx%7D%7B12.42%5C%25%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%95%B0%E5%80%BC%7D%20算出x,然后把x加到实际动作时间,%EF%BC%8812.42%5C%25%E4%BB%A3%E8%A1%A8%E7%9A%84%E6%95%B0%E5%80%BC-x%EF%BC%89加到鼠标停止时间中,基本就是相对比较准确的值了。

可是上面的这些内容,是不是都可以放进程序中自动完成呢?所以,又到了人见人爱的:

流的优化和改进(环节)

  1. 上面一大堆计算也能看出来,只要把这个计算的功能加进去,就可知道实际时间是多少。不过嘛,先列到todo list中再说,嘿嘿嘿。

  2. 还有一个想法:增加自动识别上一次的时间,并初始化变量,完成自动累加上次输出结果的效果(如果生成的文件名不同不知道行不行)。这样子如果不同名文件没办法导入的话,就没办法按开始日期生成不同的文件了,就只能生成一个文件。听起来好像可行的样子。

  3. 欢迎各位补充,并让其添加到todo list中。

  4. 如果有人想用其他语言实现并可以让整个流程变得更优雅的话,欢迎实现并交流呀。:)

最后,如果大家使用后有了自己的统计结果,可以先发出来或者先存着(废话),等反馈差不多有一定数据了可以到时候新建一个在线合作的表格,大家把自己的数据填一下。或者发给我用可能会出现的自动化工具统计一下结果。

到时候有了一定量的数据支撑,官方的数据不言自明。雷蛇啊雷蛇,嘿嘿嘿。


使用Power Automate Desktop创建流统计无线鼠标电池实际续航耐久度的评论 (共 条)

分享到微博请遵守国家法律