gpt4 book ai didi

android - 无法在 android 上的 SurfaceView 中获得高 fps

转载 作者:行者123 更新时间:2023-11-29 21:42:58 25 4
gpt4 key购买 nike

在我的游戏线程中,我试图获得高 fps - 大约 60
但仅锁定 Canvas 已经使它达到最高 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)));
}

但只有通过调用 lockCanvasunlockCanvasAndPost 我才知道 60 毫秒已经结束

最佳答案

如果您想要像 60fps 这样的真正高帧率,您可能需要使用 OpenGL 而不是 SurfaceView。您仍然可以使用 SurfaceView 获得合理的帧速率(例如 ~30fps),每帧绘制的 Sprite 数量从低到中等,但我相信在不使用 OpenGL 的情况下很难做得更好。

注意:您对“Log.d”和“String.valueOf”的调用本身可能会显着降低帧速率,这是一个令人讨厌的第 22 条军规。

关于android - 无法在 android 上的 SurfaceView 中获得高 fps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16594912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com