“How to monitor the display framerate”的版本间的差异

来自百问网嵌入式Linux wiki
第1行: 第1行:
{{DISPLAYTITLE:如何监控显示帧率}}
+
When an animation is running on the display, the related framerate can be monitored from the [[DRM KMS overview | display driver]] level thanks to the command:
 +
{{Board$}} (while true; do export fps=`cat /sys/kernel/debug/dri/0/state | grep fps -m1 | grep -o '[0-9]\+'`; echo display ${fps}fps; sleep 4; done) &
  
 +
The display framerate is then periodically output in the user console in "fps" ('''f'''rames '''p'''er '''s'''econd):
 +
<pre>
 +
display 50fps
 +
display 50fps
 +
display 50fps
 +
</pre>
  
[[Category:Linux_Operating_System]]
+
Notes:
[[Category:Visual]]
+
* Stop monitoring the framerate with the command "kill -9 `ps -o ppid= -C sleep`".
[[Category:DRM_KMS]]
+
* Adjust the framerate update period by modifying the "sleep" value (4 seconds in the example).
 +
* Use the command "dmesg -n8" to mix both user and kernel console outputs.
 +
* [[Debugfs]] configuration needs to be enabled.
 +
 
 +
<noinclude>
 +
[[Category:How to trace and debug]]
 +
[[Category:DRM KMS]]
 +
{{PublicationRequestId | 9899 | 2018-12-06 | AlainF}}
 +
</noinclude>

2020年5月8日 (五) 22:37的版本

When an animation is running on the display, the related framerate can be monitored from the display driver level thanks to the command:

Board $> (while true; do export fps=`cat /sys/kernel/debug/dri/0/state | grep fps -m1 | grep -o '[0-9]\+'`; echo display ${fps}fps; sleep 4; done) &

The display framerate is then periodically output in the user console in "fps" (frames per second):

display 50fps
display 50fps
display 50fps

Notes:

  • Stop monitoring the framerate with the command "kill -9 `ps -o ppid= -C sleep`".
  • Adjust the framerate update period by modifying the "sleep" value (4 seconds in the example).
  • Use the command "dmesg -n8" to mix both user and kernel console outputs.
  • 调试文件系统(debugfs) configuration needs to be enabled.

<securetransclude src="ProtectedTemplate:PublicationRequestId" params="9899 | 2018-12-06 | AlainF"></securetransclude>