Я добавил в свою игру профилировщик и изолировал эту функцию.Это, иногда, вызывает падение FPS.Это мой результат:
Present buffer time: 22
Present buffer time: 1
Present buffer time: 9
Present buffer time: 1
Present buffer time: 20
Present buffer time: 6
Present buffer time: 4
Present buffer time: 4
Present buffer time: 22
Present buffer time: 4
Present buffer time: 8
Present buffer time: 4
Present buffer time: 4
Present buffer time: 15
Present buffer time: 1
Present buffer time: 1
Present buffer time: 1
Present buffer time: 11
Present buffer time: 1
Present buffer time: 6
Present buffer time: 1
Present buffer time: 1
Present buffer time: 25
Present buffer time: 6
Present buffer time: 7
Present buffer time: 1
Present buffer time: 10
Present buffer time: 7
Present buffer time: 3
Present buffer time: 1
Present buffer time: 12
Present buffer time: 9
Present buffer time: 6
Present buffer time: 9
Знаете ли вы, почему каждые несколько кадров эта функция занимает больше времени?
Это мой код:
f64 time = -System::GetTime();
[m_context presentRenderbuffer:GL_RENDERBUFFER_OES];
Log("Present buffer time: %d\n", u32((System::GetTime() + time) * 1000.));