问题来源
对比90HZ和72HZ进入passthrough,明显感觉72HZ卡顿计算帧率,方面对比
int fps =0;
int lasttime = gettime();
int framecount = 0;
framecount++;
int curTimeMs =gettime();
if(curTimeMs-lastTimeMs > 1000){//1s
fps = framecount;
framecount = 0;
lastTimeMs = curTimeMs;
}
- 分析:
如果渲染 72HZ去拿camera,就是13.8ms拿一次
如果渲染 90HZ去拿camera,就是11.1ms拿一次
camera分长曝光和短曝光分别是16+4 =20ms和16-4 =12ms
那么就会出现72HZ拿的时候错过长曝光
而长曝光是用来渲染的。所以需要设计一个算法去拿前一帧且是长曝光的帧用来渲染。