CtsViewTestCases屏帧率,屏刷新率的修改方法testRefreshRateCallbackMixedWithFrameCallbacks,testThemes

上面这些一般多是屏刷新率和屏帧率的问题

一般这个会丢给驱动那边去修改,但是问了驱动这个解决起来也是方便,我们也可以自己去修改

我们根据跑测log去查看实际帧率是多少

一般情况下在我们设置的62fps ±2左右多是能过跑测的,现在在59.5fps这个明显过不了

kernel-5.10/drivers/gpu/drm/panel/屏文件

屏帧率修改得计算方式: htotal x vtotal x fps x 24 ÷ 2 ÷ 4

htotal和vtotal文件中有准确的值,fps一般是60,但是我们会设置成62,后面的4是mipi通道数

算出来的结果我们取前三位就是.pll_clk的值。

CtsGameFrameRateTestCases

android.gameframerate.cts.GameFrameRateTest#testGameModeChoreographer

java.lang.AssertionError: Timed out waiting for a stable and compatible frame rate. requested=31.00 received=62.00.
 上面这种就是预期的帧率是62,但是屏的实际帧率只有31

修改.clock的值可以改变预期帧率

后面说一下.clock的值,屏刷新率的问题,.clock配置过高可能会导致刷新率无法升上去,配置60fps,实际却在30fps,这个时候我们要试着减少.clock

.clock计算方式htotal x vtotal x fps ,fps是你设置的预期帧率比如上面的62fps,你也可以设置为60fps, 计算的结果是Hz需要转换成KHz

结束:.clock的是KHz单位,

### 幕刷新率与帧率的区别 幕刷新率是指显示器硬件每秒能够刷新图像的次数,单位为赫兹(Hz)。例如,一个120Hz的显示器可以在一秒内显示120帧图像。刷新率是显示器的一个物理属性,它决定了幕更新画面的速度[^1]。 帧率则是指视频、动画或游戏中的图像每秒钟变化的次数,单位为帧每秒(fps)。帧率描述的是内容本身的变化速度,而不是显示设备的能力。例如,在玩游戏时,计算机图形处理器(GPU)生成新帧的速度就是帧率。 两者的区别在于刷新率是显示器的能力,而帧率是所观看内容的特性。刷新率越高,理论上可以提供更流畅的视觉体验,但这并不意味着实际观看的内容也会同样流畅,因为这还取决于内容的帧率。 ### 刷新率与帧率之间的联系 尽管刷新率和帧率是不同的概念,但它们共同影响着用户的视觉体验。理想情况下,如果内容的帧率与显示器的刷新率相匹配,则可以获得最流畅的画面效果。然而,在实际情况中,当显卡输出的帧率低于显示器的刷新率时,可能会出现重复显示同一画面的情况,导致视觉上的卡顿感;反之,如果帧率超过了刷新率,则多余的帧无法被立即显示出来,可能导致画面撕裂现象[^2]。 为了缓解这些问题,市场上出现了多种同步技术,如V-Sync(垂直同步)、FreeSync 和 G-Sync 等,这些技术旨在使GPU生成图像的速度与显示器刷新幕的速度保持一致,从而减少或消除画面撕裂和卡顿的问题[^4]。 此外,动态刷新率技术允许显示器根据输入信号的帧率来调整自身的刷新频率,这样既可以在高帧率场景下提供流畅的视觉体验,又能在低帧率或者静态场景下节省能源消耗。这种技术要求显示器和支持它的硬件之间有良好的兼容性[^5]。 ### 示例代码:计算不同刷新率下的帧间隔时间 下面是一个简单的Python示例,用来计算给定刷新率下每帧之间的理论时间间隔(以毫秒为单位)。 ```python def calculate_frame_interval(refresh_rate): """计算每帧之间的理论时间间隔""" return 1000 / refresh_rate # 将秒转换成毫秒 # 计算60Hz和120Hz刷新率下的帧间隔 frame_interval_60hz = calculate_frame_interval(60) frame_interval_120hz = calculate_frame_interval(120) frame_interval_60hz, frame_interval_120hz ``` 执行上述代码后,对于60Hz刷新率,每帧之间的理论时间间隔约为16.67毫秒;而对于120Hz刷新率,这一数值则降低到了约8.33毫秒。这意味着更高的刷新率可以缩短每帧之间的时间间隔,进而可能带来更加流畅的视觉体验[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个炒粉得GMS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值