En ce moment j'expérimente SurfaceView pour mon jeu d'échecs avec des animations. Je reçois seulement environ 8 FPS dans l'émulateur. Je dessine un échiquier et 32 pièces d'échecs et je fais tourner tout (pour voir si c'est lisse), j'utilise l'antialiasing. Sur le Droid, je reçois environ 20FPS, donc ce n'est pas très lisse. Est-il possible d'implémenter un jeu avec des animations très rares et simples sans avoir à utiliser OpenGL?Dois-je utiliser OpenGL pour les échecs avec des animations?
C'est ce que je fais chaque image:
// scale and rotate
matrix.setScale(scale, scale);
rotation += 3;
matrix.postRotate(rotation, 152, 152);
canvas = surfaceHolder.lockCanvas();
canvas.setDrawFilter(new PaintFlagsDrawFilter(0, Paint.FILTER_BITMAP_FLAG));
canvas.setMatrix(matrix);
canvas.drawARGB(255, 255, 255, 255); // fill the canvas with white
for (int i = 0; i < sprites.size(); i++) {
sprites.get(i).draw(canvas); // draws chessboard and chess pieces
}
Si vous allez utiliser des animations, je pense que vous devriez utiliser openGL. À quel point votre jeu est-il plus rapide sans anti-aliasing? C'est probablement un énorme hogg de ressources. Vous pouvez également faire le dessin openGL dans NDK. Et ne prenez pas la vitesse de l'émulateur comme une marque pour les vrais appareils. – MrSnowflake