Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.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
Iphone 为什么我的OpenGL ES视图在iOS 4.3上有时是空白的?_Iphone_Ios_Opengl Es - Fatal编程技术网

Iphone 为什么我的OpenGL ES视图在iOS 4.3上有时是空白的?

Iphone 为什么我的OpenGL ES视图在iOS 4.3上有时是空白的?,iphone,ios,opengl-es,Iphone,Ios,Opengl Es,我的应用程序“Guess-A-Sketch”在ios 4.3中存在绘图问题。我有一个显示为黑色的gl绘图画布。奇怪的是,我发现如果我稍微调整ogl视图的帧大小,它似乎会起作用。。我在appstore中的版本不起作用,因此我必须进行更新以修复。。虽然它看起来像一只虫子。还有人看到这个吗?非常讨厌!即使使用帧调整修复,当我在视图上设置动画变换时,视图也会闪烁黑色,而在以前的ios版本中,该视图是平滑的您可能会遇到中提到的问题。在iOS 4.2中,处理renderbuffers的方式已经改变,以提高性

我的应用程序“Guess-A-Sketch”在ios 4.3中存在绘图问题。我有一个显示为黑色的gl绘图画布。奇怪的是,我发现如果我稍微调整ogl视图的帧大小,它似乎会起作用。。我在appstore中的版本不起作用,因此我必须进行更新以修复。。虽然它看起来像一只虫子。还有人看到这个吗?非常讨厌!即使使用帧调整修复,当我在视图上设置动画变换时,视图也会闪烁黑色,而在以前的ios版本中,该视图是平滑的

您可能会遇到中提到的问题。在iOS 4.2中,处理renderbuffers的方式已经改变,以提高性能。从:

在iOS 4.2及更高版本中,性能 的核心动画旋转 renderbuffers得到了显著的改进 改进,现在是首选 在两个文件之间旋转内容的方法 横向和纵向模式。最好 性能,确保渲染缓冲区的 高度和宽度均为倍数 32像素

在iOS 4.2上,出现了一个bug,在模拟器下,32个OpenGL ES renderbuffer中的非多个大小显示为黑色(但在设备上运行良好)。鉴于您的内容在某些大小上显示正确,但在其他大小上显示不正确,您可能会遇到相关问题


在任何情况下,您都需要确保渲染缓冲区现在是32的倍数,以获得最佳性能。

我同意Brad的观点,黑色背景听起来像32个bug,但闪烁不。。。也许你可以试着把雨天的倒车设置为真。这可能会有帮助

在OpenGLES2DView.m中:

eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [NSNumber numberWithBool:YES], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];

我怀疑同样的事情也发生在我身上,我的应用程序在4.2.2上运行,但在4.3中有疏远行为。我在“openGL视图”中绘制图像,该视图是UIScrollView的子视图,有时图像在显示缩进或缩进手势之前是黑色的,有时图像在缩放时会留下黑色边框,在前一瞬间绘制图像,此外,有时图像在滚动视图中滚动良好,但其他图像变为黑色,不跟随滚动。这些事情都不会发生在4.3设备中

谢谢你抽出时间。
格雷格

我也有同样的问题,这让我发疯

为了修复它,我只为我的OpenGL视图指定了一个
backgroundColor
。我不知道这东西是怎么工作的,但它确实为我解决了这个问题

希望能有所帮助


顺便说一句,iOS 5似乎已经解决了这个问题。

谢谢您的帮助,我将尝试一下。我猜闪烁是因为我的变换是视图上的一个动画比例,所以当它缩放时,它通过了一些不好的尺寸?在以前的操作系统版本中没有出现,只有4.3版。我将尝试建议的速度虽然最终的结果大小。只是添加一个更新。我看了一下,已经有了上面的属性集。我得到了32的整数倍,但我的情况听起来不同。我定义一个缓冲区大小,然后基于用户操作,使用“transform”属性缩放和变换该视图。所以我并没有改变初始帧的大小,只是缩放它的大小。我确实发现我必须在每个变换中添加一些模糊因子,才能找到一个不呈现黑色的大小,而且效果很好。在视图的动画转换过程中,我再次看到绘图瑕疵和闪烁。我忘了说这种行为发生在各种大小的图像上,同样是当我的帧缓冲区是32的倍数时,但在这种情况下,我会说黑色图像不太常见,也可能是偏执。。。