如何测量程序 (GUI) 加载时间?

如何测量程序 (GUI) 加载时间?

我想测量一个程序在我的系统上打开所需的时间。我尝试过将该time实用程序与 Atom 一起使用,但它甚至在 Atom 打开之前就在终端中打印了响应。两三秒后,Atom 在我的屏幕上打开。

$ time atom

real    0m0.021s
user    0m0.021s
sys     0m0.003s

有什么想法如何测量 GUI 打开并准备好用户输入所需的时间吗?

更新:

使用xdotool如下所述的实用程序,我得到以下输出。

$ atom && time while true; do xdotool search --limit 1 --name "Project — Atom" >/dev/null && break; done

real    0m0.021s
user    0m0.009s
sys     0m0.005s

答案1

人们经常使用秒表来处理此类事情或修改应用程序以在“完成”时输出一些触发器是有原因的。

问题是什么是“开放”?窗口什么时候出现?应用程序初始化后?闲置后?还有别的事吗?

您可以使用类似的方法来检测窗口:

$ atom
$ time while true; do xdotool search --limit 1 --name atom >/dev/null && break; done

将 --name 字段中的“atom”替换为实际的窗口标题名称(它是正则表达式)。我不知道atom使用什么标题。请注意,这在扫描时可能会使用大量 CPU,并且在 Wayland 中不起作用。

您还可以另外使用屏幕捕获,例如import从 imagemagick 中查找最终状态(从上面的 xdotool 获取要使用的 WID),但是 egads...如果启动时间真的很长,可能没问题。

相关内容