OpenCPN-低功耗

跳转到:导航搜索
 OpenCPN Home 

降低 OpenCPN 的功耗

OpenCPN 研究

这是第一种方法,基本上我们深入代码,寻找执行过于频繁的代码部分,这些代码部分会使程序在电力消耗方面过于贪婪。

这项研究分为以下几个部分:


其他

源代码中的缩写。

OpenCPN 源代码中的所有定时器

FrameTimer1
刷新船只的当前位置并在图表上更新 AIS 目标
COGTimer
在航向向上模式(跟随船只航向)下更新图表的旋转角度
TCTimer
在图表上刷新潮汐和水流数据
TimerAIS
更新目标列表并计算 CPA
TimerAISAudio
如果警报已开启,则播放警报声音

初始化过程

chart1.cpp 中的 OnInit() 方法启动 FrameTimer1TimerAIS


使用 susestudio.com 构建发行版

当我们发现无法改进 opencpn 的功耗,并且软件和系统参数没有得到优化时,我们决定构建一个包含 OpenCPN 的发行版。考虑了两个标准

  • 安装必须像 Ubuntu、Fedora 或 OpenSuse 一样简单。
  • 维护此发行版必须容易(不必查找依赖项,快速编辑我们自己的配置文件)

最终,我们选择了 susestudio.com,因为它符合我们的需求。

优化功耗

硬件限制

虽然我们降低了功耗,但我们想知道我们能达到的最低功耗是多少?
此页面 介绍了我们笔记本电脑的硬件限制。

测量工具

这是我们用来测量功耗的第二种方法。 此页面 详细介绍了此新测量方法的设置和优点。

总结

最终,我们拥有一个完美运行的发行版,其功耗低于官方 OpenSUSE 发行版。以下图表比较了 ThinkPad 笔记本电脑上常规安装的 OpenSUSE 12.3 与我们的发行版 0.2.1:

因此,如果您的笔记本电脑未使用 5 分钟,您将消耗大约 4.75 瓦特,而使用官方 OpenSUSE 发行版时将消耗 10.7 瓦特(平均值)! 差异(5.95 瓦特)并不微不足道! 此结果不能推广到任何笔记本电脑/硬件。

您可以在 此处 找到所有原始材料。

参见

所有子页面

---

 OpenCPN Home