原理 FPS的計算 CoreAnimation有一個很好用的類CADisplayLink,這個類會在每一幀繪製之前調用,並且可以獲取時間戳。於是,我們只要統計出,在1s內的幀數即可。 記憶體和CPU信息的獲取 CPU和記憶體的獲取採用了mach頭文件中的方法,調用了底層API,採用C方式來獲取。 LHP ...
原理
FPS的計算
CoreAnimation有一個很好用的類CADisplayLink
,這個類會在每一幀繪製之前調用,並且可以獲取時間戳。於是,我們只要統計出,在1s內的幀數即可。
- (void)envokeDisplayLink:(CADisplayLink *)displayLink{
if (_lastTimestamp == -1) {
_lastTimestamp = displayLink.timestamp;
return;
}
_countPerFrame ++;
NSTimeInterval interval = displayLink.timestamp - _lastTimestamp;
if (interval < 1) {
return;
}
_lastTimestamp = displayLink.timestamp;
CGFloat fps = _countPerFrame / interval;
//...
}
記憶體和CPU信息的獲取
CPU和記憶體的獲取採用了mach頭文件中的方法,調用了底層API,採用C方式來獲取。