Метод рисования Android работает медленно - PullRequest
4 голосов
/ 06 января 2012

Приветствую всех! Я пытаюсь перейти с C # XNA 4.0 на Java Android dev в Java.Во-первых, я должен сказать, что Microsoft проделала отличную работу по разработке игр для своей мобильной платформы.Жаль, что около двадцати человек по всему миру на самом деле владеют одним из телефонов Win Mob 7. * ...
Разработка в XNA действительно проста для понимания, и все сделано для вас.Но я хотел донести свои приложения до людей, а не только за друзей Билла или тех, у кого есть те несколько телефонов WM ...

И тут появились проблемы ... Я даже не могу рисовать ОДИН!растровое изображение с удовлетворительной скоростью.Я пролистал эту книгу:

(www.apress.com/9781430230427) Начало игр для Android от Марио Цехнера

Так что я подумал, что все будет не так плохо - на самом деле рисование.Но, ... я пробовал разные стили рисования ... один из книги (представление класса Screen в RenderView), затем метод из этого урока http://www.edu4java.com/androidgame/androidgame3.html и затем самый простой http://mikeyhogarth.wordpress.com/2010/10/09/how-to-develop-pong-for-android/ понг с примитивами,

Я не могу понять, почему даже рисование примитивов и перемещение 3 примитивных объектов может быть таким медленным.

Я пытался двигаться 1!растровое изображение (из учебника edu4java) и оно не может постоянно перемещаться .Даже если бы я применил метод sleep () для приостановки Thread и повторного рендеринга в 10 (или 20 (или 30)) FPS, это все равно было ужасно.Я попробовал это в эмуляторе (намного хуже, чем в Microsoft), а также на реальном устройстве (Wildfire S)

Хорошо, хорошо, Wildfire S не самый быстрый Android за всю историю, но рисовал ОДИН!растровое изображение не может быть таким хардкорным.

И я знаю, что у меня должен быть новый поток для рисования, я должен сделать это через SurfaceView, нарисовать на холст и т. д.

Iне мог найти ничего вокруг паутины, что помогло бы мне.Я надеюсь, что это может быть самый простой ответ, и я выгляжу как величайший новичок в истории интернета, но я выношу это ...

Есть ли кто-нибудь, кто знает, что делать лучше?

(Я не использую OpenGL EP, так как меня интересуют только простые 2D-игры (пока))

Спасибо даже за чтение.

Erhan

1 Ответ

3 голосов
/ 09 марта 2012

Это может помочь с производительностью: если вы используете высокий уровень API, вы должны иметь возможность включить аппаратное ускорение в своем манифесте. Он прост в использовании и должен делать вещи более плавными. Хитрость заключается в том, чтобы включить его, когда вам это нужно, и отключить его, когда ничего интенсивного не происходит. http://android -developers.blogspot.com / 2011/03 / андроида-30-аппаратный acceleration.html

...