私のゲームスレッドでは、高fpsを取得しようとしています-約60
ですが、キャンバスをロックするだけですでに60 fpsになり、
これが私が使用するコードです-
public void run()
{
super.run();
int FPS = 60;
final long TPF = 1000 / FPS;
long startTime;
long sleepTime;
while (m_run)
{
startTime = SystemClock.uptimeMillis();
m_canvas = m_surfaceHolder.lockCanvas();
if (m_canvas != null)
{
}
m_surfaceHolder.unlockCanvasAndPost(m_canvas);
sleepTime = TPF - (SystemClock.uptimeMillis() - startTime);
Log.d("sleep", String.valueOf((SystemClock.uptimeMillis() - startTime)));
}
しかし、電話するだけでlockCanvas
、unlockCanvasAndPost
60ミリ秒が経過したことがわかります