遇到个CTS问题android.view.cts.DisplayRefreshRateTest,这个测试failed了。
junit.framework.AssertionFailedError at junit.framework.Assert.fail(Assert.java:48) at junit.framework.Assert.assertTrue(Assert.java:20) at junit.framework.Assert.assertTrue(Assert.java:27) at android.view.cts.DisplayRefreshRateTest.testRefreshRate(DisplayRefreshRateTest.java:197) at java.lang.reflect.Method.invoke(Native Method)
在DisplayRefreshRateTest.java中 public void testRefreshRate() throws java.lang.InterruptedException {
float claimedFps = dpy.getRefreshRate();
for (int i = 0; i < 3; i++) {
float achievedFps = mResult.waitResult();
fpsOk = Math.abs(claimedFps - achievedFps) <= FPS_TOLERANCE;
if (fpsOk) {
break;
} else {
Thread.sleep(10000);
mResult.restart();
}
}
activity.finish();
assertTrue(fpsOk);
}其中claimedFps是android建议的值,achievedFps是本机计算值,FPS_TOLERANCE是参考偏差是2.of
也就是,本机fps和android的fps偏差在2fps之间才可以通过cts测试。
我遇到的问题是本机的fps未62.+,所以failed,属于底层的Graphics模块了,具体没有再跟踪。
等相应同事跟进,我再更新状态
在Android开发过程中,遇到CTS DisplayRefreshRateTest测试失败的问题,主要原因是本机刷新率与Android建议的刷新率存在较大偏差。通过分析代码发现,测试中使用了waitResult方法来等待实际刷新率与建议刷新率之间的偏差在允许范围内,从而判断测试是否通过。在遇到的问题中,本机刷新率为62帧/秒,超出允许的最大偏差2帧/秒,导致测试失败。
8790

被折叠的 条评论
为什么被折叠?



