遇到个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模块了,具体没有再跟踪。
等相应同事跟进,我再更新状态