Android帧速率慢

时间:2013-02-22 10:44:01

标签: android graphics frame-rate

显然这是一个热门话题。我是一个初学者,所以我的问题可能是相当微不足道的。这是一个非常简单的游戏,像Pong。我正在使用此代码绘制我的游戏:

@Override
public void paint(float deltaTime) {
    Graphics g = game.getGraphics();

    // draw the game elements
    if (state == GameState.Running){
        g.drawImage(Assets.back, 0, 0);
        //g.drawRect(0, 0, g.getWidth(), g.getHeight(), Color.BLACK);           
        g.saveCanvas();
        g.drawTransRect(0, 0, scene.getLine(), g.getHeight());
        g.drawImage(Assets.fore, 0, 0);
        //g.drawRect(0, 0, g.getWidth(), g.getHeight(), Color.WHITE);
        g.restoreCanvas();  


        for (Pieces p : pieces){

            if (p.getType() == true)
                g.drawImage(Assets.pos, p.getX(), p.getY());
            if (p.getType() == false){
                g.drawImage(Assets.neg, p.getX(), p.getY());

            }
        }
    }

如果按原样运行代码,帧速率看起来约为15FPS?但是,使用drawRect(上面已注释掉)而不是drawImage(背景和前景bmps作为Assets),我的FPS至少为60.我假设这意味着显示bmps vs Rects需要更多的CPU功率。如何使用我的图像并保持合适的帧速率?

感谢。

编辑:

我的drawImage方法看起来像这样,如果它有帮助:

 public void drawImage(Image Image, int x, int y) {
    canvas.drawBitmap(((AndroidImage)Image).bitmap, x, y, null);
}

0 个答案:

没有答案