electron 上的 ioHook 消耗了太多的 CPU。周围有吗?或者替代 ioHook

ioHook on electron consumes too much CPU. Is there anyway around? Or alternative to ioHook

提问人:Preetham Sridhar 提问时间:8/5/2020 更新时间:2/11/2021 访问量:1440

问:

我正在跟踪用户的鼠标移动,在收到鼠标移动发射器后,我调度了一个可以正常工作的事件。

ioHook.on('mousemove', event => {
    dispatch(storeLatestWorkTimeStamp())
});

有时 electron 应用程序比 skypeslack 消耗的 CPU 太多。

不过,我尝试设置最大听众数

ioHook.setMaxListeners(10);

但这对 CPU 的消耗没有帮助。

下面是 htop 输出的屏幕截图 htop output

使用量从 60 到 90 不等。有没有办法控制ioHook的CPU使用率。

有没有其他 npm 包可以用作 ioHook

node.js ReactJS IO 电子 CPU

评论


答:

-2赞 Preetham Sridhar 2/11/2021 #1

对不起,我正在发布我自己问题的答案。在与我的同事进行研发后,我发现这可以使用Electron提供的称为的功能来处理。Power Monitor

特别是 powerMonitor.getSystemIdleTime() 派上用场,与 ioHook 相比,它消耗的 RAM 要少得多。

有关更多信息,您可以参考 https://www.electronjs.org/docs/api/power-monitor。希望这对您有所帮助。

评论

2赞 d-feverx 10/1/2021
这没有任何意义
0赞 lacy 10/31/2023
您正在寻找 iohook 的替代品并提供了一个 mouseMove 示例,但您发布的 powerMonitor 函数没有做任何相关的事情。