PS
全称: 每秒传输帧数 (Frames Per Second)
详细见百科: https://baike.baidu.com/item/FPS/3227416?fr=aladdin
内容提取:
1. 图形领域. 画面每秒的传输帧数, 动画或视频的画面数
2. 游戏领域. 通常叫做 "刷新率"(单位 Hz 赫兹) 屏幕一秒内, 扫描的次数, 一般装机选购显卡和显示器的时候都会注意到刷新率, 一般在 75Hz(=75 帧 / 秒)
作用:
FPS 是测量用于保存, 显示动态视频的信息数量. 每秒帧数越多显示的越流畅; fps 低, 会导致画面闪烁, 显示效果不好
-》通常 FPS>=30 帧;
-》也有一些计算机 video 领域, FPS=15
-》电影的 fps 一般是 24
-》游戏一般是 75
影响因素:
1. 分辨率不变, FPS 越高越好. 越高, 则对显卡处理能力要求越高, 测试一般用相同分辨率 devices, 分别验证 fps
显卡处理能力 (显卡没秒内处理的像素量)= 画面分辨率 xFPS
-》玩游戏时, 分辨率越大, 越不流畅; 显示器的刷新率一般是 70Hz 以上, 85Hz 比较好
-》游戏过程中, 30Hz 不卡顿; 要达到流畅等级的 FPS 需要 60Hz.
adb 获取性能数据 FPS
前言: SurfaceFlinger 是一个系统服务, 管理 Android 帧缓冲区.
adb shell dumpsys SurfaceFlinger--latency com.driftking.thumbracing/com.cmcm.skidstorm.UnityPlayerActivity
python 获取性能 fps 数据
三方模块: pip install opencv-python
安装失败参考: https://blog.csdn.net/qq_38632611/article/details/83478592
python 读取视频后, 实时计算帧数 fps 的方法
- https://blog.csdn.net/weixin_43534925/article/details/83449815
- # -*- coding: utf-8 -*-
- import cv2
- # 读取视频
- cap = cv2.VideoCapture("../VID_20190823_163025.mp4")
- # 获取 FPS(每秒传输帧数 (Frames Per Second))
- fps = cap.get(cv2.CAP_PROP_FPS)
- # 获取总帧数
- totalFrameNumber = cap.get(cv2.CAP_PROP_FRAME_COUNT)
- print(fps)
- print(totalFrameNumber)
- # 当前读取到第几帧
- COUNT = 0
- # 若小于总帧数则读一帧图像
- while COUNT < totalFrameNumber:
- # 一帧一帧图像读取
- ret, frame = cap.read()
- # 把每一帧图像保存成 jpg 格式 (这一行可以根据需要选择保留)
- cv2.imwrite(str(COUNT) + '.jpg', frame)
- # 显示这一帧地图像
- cv2.imshow('video', frame)
- COUNT = COUNT + 1
- # 延时一段 33ms(1s?30 帧) 再读取下一帧, 如果没有这一句便无法正常显示视频
- cv2.waitKey(33)
- cap.release()
来源: http://www.bubuko.com/infodetail-3167094.html