Android-рендеринг проблема, вызывающая задержки? - PullRequest
1 голос
/ 30 августа 2010

Я занимаюсь разработкой игры для Android и собираю мусор точка, где это GC только один раз каждые 5 минут или около того, который я пока думаю, что это приемлемо.

Проблема в том, что время от времени я вижу это сообщение в журналы:

08-29 09:58:46.410 W/copybit ( 1912): stretch_copybit::run_render fail
08-29 09:59:09.000 E/libs3c2drender( 1912): int
S3c2DRender::DoG2D(unsigned int, s3c_img*, s3c_rect*, unsigned int,
s3c_img*, s3c_rect*, int, int)::S3C_G2D_ROTATOR_18176 fail

И когда появляется это сообщение, моя игра останавливается примерно на 100-200 миллисекунд ..

В настоящее время я использую холст для рисования, хотя, если моя память точно, я видел то же самое сообщение об ошибке при использовании Open GL.

Вот мой код для рисования объекта изображения:

cachedMatrix.reset();
cachedMatrix.postTranslate(-halfImageWidth, -halfImageHeight);
cachedMatrix.postScale(localScaleX, localScaleY);
cachedMatrix.postTranslate(localOffset.x, localOffset.y);
float degrees = (radiansToDegrees(-rotation) + 360f) % 360f;
cachedMatrix.postRotate(degrees);
cachedMatrix.postTranslate(screenPos.x, screenPos.y);

canvas.drawBitmap(image, cachedMatrix, null);

Честно говоря, я не знаю, как обойти это. Это происходит на моем телефоне Samsung Moment.

Кто-нибудь еще сталкивался с этой проблемой? И нашел обходной путь или понимание, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...