Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android中快速变化的位图_Java_Android_Multithreading_Bitmap - Fatal编程技术网

Java Android中快速变化的位图

Java Android中快速变化的位图,java,android,multithreading,bitmap,Java,Android,Multithreading,Bitmap,在我的Android 2d游戏中,我有一个计算玩家视野的线程。每次该线程重新生成视野位图并将其传递到主游戏循环时,位图都会闪烁一点(我目前在vision线程中将FPS限制为1) 这可能是因为我将位图传递给另一个类时的加载时间吗?这是非常重要的,所以我希望你能帮助我 我以前在主游戏循环类中有过这个计算过程,没有闪烁,只有FPS很低。现在FPS很高,但闪烁也很高:) 首先,请确保位图创建和渲染线程不会通过检查/添加锁进行干扰。同时读取/写入位图会导致渲染不一致 闪烁/闪烁可能只是因为单缓冲图形。尝试

在我的Android 2d游戏中,我有一个计算玩家视野的线程。每次该线程重新生成视野位图并将其传递到主游戏循环时,位图都会闪烁一点(我目前在vision线程中将FPS限制为1)

这可能是因为我将位图传递给另一个类时的加载时间吗?这是非常重要的,所以我希望你能帮助我

我以前在主游戏循环类中有过这个计算过程,没有闪烁,只有FPS很低。现在FPS很高,但闪烁也很高:)

  • 首先,请确保位图创建和渲染线程不会通过检查/添加锁进行干扰。同时读取/写入位图会导致渲染不一致
  • 闪烁/闪烁可能只是因为单缓冲图形。尝试为渲染表面启用双缓冲(为了获得最佳性能,您可以使用带有双缓冲的OpenGL上下文)。双缓冲允许在屏幕上显示前缓冲区时渲染到不可见的后缓冲区。渲染完成后,后缓冲区立即与前缓冲区交换,这样就不会有不完整的图像
  • 也许,这只是因为一个放错地方的“清晰”
      • 首先,请确保位图创建和渲染线程不会通过检查/添加锁进行干扰。同时读取/写入位图会导致渲染不一致
      • 闪烁/闪烁可能只是因为单缓冲图形。尝试为渲染表面启用双缓冲(为了获得最佳性能,您可以使用带有双缓冲的OpenGL上下文)。双缓冲允许在屏幕上显示前缓冲区时渲染到不可见的后缓冲区。渲染完成后,后缓冲区立即与前缓冲区交换,这样就不会有不完整的图像
      • 也许,这只是因为一个放错地方的“清晰”