Android-锁定画布在某些帧上花费的时间太长

时间:2018-11-20 20:50:03

标签: java android canvas surfaceview frame-rate

我在Android Studio中使用Threads用Java编写了正常的游戏循环。最近,我意识到fps的值会影响 lockCanvas()方法。例如,如果我将fps值设置为 60 lockCanvas()花费了 2.5ms ,但是如果我将fps值设置为 1000 花费超过 10ms 。 fps变量仅用于 Thread.sleep(),以保持稳定的FPS。我注意到的另一件事是,如果我不在画布上绘制任何内容或不休眠线程,则 lockCanvas()方法在 60fps(16.67毫秒)期间花费一帧的时间

{
    "name": "Launch Backend Functions",
    "type": "node",
    "request": "launch",
    "address": "localhost",
    "protocol": "inspector",
    "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/lerna",
    "runtimeArgs": [
        "exec",
        "--scope",
        "actual-name-of-backend-package",
        "--",
        "npm"
    ],
    "args": ["run", "debug"],
    "port": 1234
}

我还有一个问题。当我在画布上绘制 32位PNG (加载为位图)时,它花费的时间比绘制 24或8位PNG 的时间要长三倍。为什么在Java中会发生这种奇怪的事情?我一年多都找不到解决方案! 提前谢谢!

0 个答案:

没有答案