在Android中快速更改位图

时间:2013-09-17 18:47:36

标签: java android multithreading bitmap

我在Android的2D游戏中有计算玩家视野的线程。每当该线程重新制作视野的位图并将其传递给主游戏循环时,Bitmap会略微闪烁(我目前在视觉线程中将FPS限制为1)。

这可能是因为我将位图传递给另一个类时的某种加载时间?这非常令人讨厌,所以我希望你能提供帮助!

我在主游戏循环课之前有这个计算过程,并且没有闪烁,只有FPS很低。现在FPS很高但眨眼也很高:)

1 个答案:

答案 0 :(得分:1)

  • 首先要确保位图创建和呈现线程不会通过检查/添加锁来干扰。对位图的并发读/写将导致渲染不一致。
  • 闪烁/闪烁可能仅仅是因为单个缓冲绘图。尝试为渲染表面启用双缓冲(为了获得最佳性能,您将使用具有双缓冲的OpenGL上下文)。双缓冲允许渲染到不可见的后缓冲区,而前缓冲区显示在屏幕上。渲染完成后,后缓冲区立即与前缓冲区交换,因此永远不会有不完整的图像。
  • 也许,这只是因为错误的'清楚'。