【问题标题】:Glitchy screen redraws in flex application?flex 应用程序中出现故障的屏幕重绘?
【发布时间】:2010-11-16 22:20:06
【问题描述】:

我有一个基于 flex/actionscript 的项目。该项目具有各种视图堆栈和选项卡导航器以及一些弹出窗口。整个事情都在 pureMVC 框架中进行管理。

当在各种视图状态之间转换、打开弹出窗口、切换选项卡等时,我发现应用程序会出现各种重绘故障。部分视图将被部分绘制或以奇怪的方式闪烁。我相当有信心代码可以正常工作,但这似乎是 UI 整体沉重的问题。

这是一个常见问题吗?他们是否有经过验证的真实技术来优化这个问题?

具体来说,哪些事件处理程序可用于延迟视图组件的绘制,直到一切都准备好快速显示到屏幕上?

例如,我在视图堆栈中有一个 VBox,在这个 VBox 中我有一个相当复杂的数据网格。我可以准备数据网格和/或延迟视图堆栈更改,直到所有子视图组件实际上都准备好快速绘制。

这种故障有哪些可能的症状?

【问题讨论】:

    标签: actionscript-3 user-interface flex3 flexbuilder redraw


    【解决方案1】:

    只是一个猜测,但这可能与 flex 框架有关……我也经历过这种行为……我猜这与 flex 框架在执行 ui 任务时的工作方式有关……很多延迟实例化/调用等等......当有很多事情发生时,帧率下降,并且由于延迟是基于帧的,这可能是导致延迟变得明显的时候......

    问候

    back2dos

    【讨论】:

      【解决方案2】:

      不确定这是否适用于您,但是在 Firefox/OSX 中,当您进行过多的 javascript 调用时,会出现一个已知错误,结果与您所说的相似...整个界面显示各种故障和闪烁.. . 解决方案是稍微延迟 JS 调用,这样它们就不会被太频繁地调用……例如,这是 swfaddress 的一个严重问题(我认为它仍然是)。

      http://www.bigspaceship.com/blog/labs/mac-firefox-30-flash-javascript-random-artifacts/

      【讨论】:

        【解决方案3】:

        我假设您需要已附加到其父容器的数据网格,并且您在显示数据时正在加载数据,因此它会不断更新和呈现其内容。

        您是否只是尝试将其可见性设置为 false,直到所有内容都加载完毕,同时保持 includeInLayout 为 true 并为其提供固定大小?

        【讨论】:

        • 好点。我一直使用这种技术。但我所说的是视觉行为,它看起来更像是 flex 应用程序中的实际绘图错误。例如,当技术上另一个子元素是当前索引时,选项卡导航器的部分将在屏幕上绘制其子元素。奇怪、“古怪”的故障。
        猜你喜欢
        • 1970-01-01
        • 2022-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多