核心动画渲染错误 506 是啥意思?
Posted
技术标签:
【中文标题】核心动画渲染错误 506 是啥意思?【英文标题】:What does a Core Animation rendering error 506 mean?核心动画渲染错误 506 是什么意思? 【发布时间】:2010-12-22 11:53:29 【问题描述】:我的设备控制台日志中出现此错误,但我找不到任何相关信息。我不知道这个错误的原因是什么,在哪里可以找到任何注释或任何东西:
Tue Dec 14 09:46:05 unknown com.apple.SpringBoard[46] <Notice>: CoreAnimation: rendering error 506
Tue Dec 14 09:46:05 unknown com.apple.SpringBoard[46] <Notice>: CoreAnimation: rendering error 506
Tue Dec 14 09:46:05 unknown com.apple.SpringBoard[46] <Notice>: CoreAnimation: rendering error 506
此错误在我的 iPad 应用程序中随机发生(并且非常罕见),基本上它会使整个屏幕变黑(带有图像和一些标签的按钮除外)。当我退出应用程序时,我的虚拟键盘上有一个空白点(被黑色覆盖)(所以它以某种方式从应用程序传递到 ios)。
这是一个实际操作的视频:http://www.youtube.com/watch?v=L2YilAVXqAo
什么会导致这个错误,我怎样才能避免这个错误?
【问题讨论】:
闻起来像内存不足错误 - 在此之前是否调用了任何内存警告回调? 您需要检查您的 iPad 并可能更换。这很可能是导致问题的硬件故障。 我要做的第一件事是验证它的故障硬件是否是在另一台 iPad 上测试它,可能是 iPad 2。渲染错误通常是由 GPU 无法接受和显示 UI 引起的。还有你是什么试图加载到屏幕上。可能是帧缓冲区超载 这里同意上面的cmets;您可以分享您尝试渲染的源代码的通用版本吗? 【参考方案1】:那不是OpenGL rendering error吗? 如果是这样,那就是 GL_INVALID_FRAMEBUFFER_OPERATION。如果您自己没有进行任何 OpenGL 调用,您应该向 Apple 提交错误。
【讨论】:
【参考方案2】:正如人们指出的那样,这是一个内存不足的问题。
【讨论】:
【参考方案3】:同样的问题。 在处理基于 Cordova 的项目时,我在 Xcode 中收到了相同的错误消息。我的项目中没有使用 webGL,多亏了 Cordova,只在 web 视图中嵌入了 JS/html/CSS。
每次返回错误时,我还可以在我的设备屏幕上看到一些元素(HTML div 标签)的快速差异。
对我来说,问题是由于 RequestAnimationFrame 函数中的简单 CSS 变换 scaleX 渲染造成的。我正在计算一个百分比来增加进度条。在 RequestAnimationFrame 函数中,我正在(使用 jQuery)使用 transform 属性在进度条上设置新的 CSS 样式。例如:
function step(timestamp)
var percent = getPercentSpent();
$('#bar').css('transform':'scaleX('+percent+')');// Source of problem in my case
requestAnimationFrame(step);
requestAnimationFrame(step);
从项目中删除此 CSS 转换也消除了错误。在删除此行之前,我在 iPhone 4S IOS9 和 iPhone5c iOS10 上都收到了错误消息。
希望这会有所帮助。
【讨论】:
以上是关于核心动画渲染错误 506 是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章