android渲染问题导致延迟?

时间:2010-08-30 11:17:50

标签: android matrix rendering delay

我正在开发一款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毫秒..

我正在使用Canvas进行绘制,尽管我的记忆是 准确的,我也看过使用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);
坦率地说,我对如何解决这个问题感到很茫然。这发生在我的三星Moment手机上。

还有其他人遇到过这个问题吗?并找到了解决方法或 深入了解为什么会这样?

0 个答案:

没有答案