【问题标题】: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;您可以分享您尝试渲染的源代码的通用版本吗?

标签: iphone objective-c ios ipad core-animation


【解决方案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 上都收到了错误消息。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-08
        • 2020-03-16
        • 2021-12-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多