在Retina iPad上显示全屏幕CAEAGLLayer的问题
我遇到了一些问题得到一个大的CAEAGLLayer UIView正确显示。 如果该框架超过一定的尺寸(在contentScaleFactor为2.0的任一维度上显然为768),则会重绘以前版本缓冲区的扭曲图像。
在苹果的GLPaint例子中重现是非常容易的。 PaintingView.m有一个硬编码的contentScaleFactor为1.0,但如果将其更改为2.0:
self.contentScaleFactor = 2.0;
并运行在Retina iPad上(不是模拟器),当你绘制时你会得到这样的东西:
这个问题似乎是在视网膜iPad kEAGLDrawablePropertyRetainedBacking
设置为YES的错误,Orion在这个问题中报告 。 设置为NO使用
eaglLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:NO], kEAGLDrawablePropertyRetainedBacking, kEAGLColorFormatRGBA8, kEAGLDrawablePropertyColorFormat, nil];
删除毛刺图,但GLPaint依赖于它的画笔保留的支持,所以如果你这样做,它不会正常工作。
我已经提交了一个bug报告(rdar:// 11070429),修改过的GLPaint作为这个行为的testing应用。