【问题标题】:How optimized is UIView UIImageView?UIView UIImageView 优化到什么程度?
【发布时间】:2013-01-12 11:51:27
【问题描述】:

在我正在构建的游戏中,我想制作一个表示平铺地图的 UIView。我想知道填充 UIImageViews 网格的 UIView 在屏幕上设置动画时是否会滞后?我的第一个想法是,如果 UIVIew 真的被优化了,如果它们不在屏幕上,子视图会知道不绘制自己,但我不知道 UIView 如何优化绘图的细节。

另外,如果这种方法可行,在出现问题之前我可以在一个视图中拥有多少个 64x64 像素图块是否有上限?

【问题讨论】:

  • 如果要表示平铺地图,为什么不使用CATiledLayer?这就是为在例如地图中看到的平铺提供支持的原因。它提供了具有交叉淡入淡出、支持不同缩放级别等的异步图块绘制。
  • daayummn...上面的可靠评论
  • @KevinBallard 谢谢你的这个小见解!我现在正在调查!我们在这里时对原始问题有什么想法吗?
  • @InkGolem:如果你按照你最初的想法去做,我建议你删除屏幕外的图像视图(假设开始时网格足够大)。使用滚动视图委托方法很容易做到这一点。鉴于此,您遇到的任何延迟都可能是由于尝试在主线程上处理一堆图像数据(这是 CATiledLayer 的一个好处;所有绘图都发生在后台线程上)。
  • 我认为像 cocos2d 这样的东西会对你有更多帮助 BTW 可怕的问题名称

标签: iphone ios uiview uiimageview uikit


【解决方案1】:

如果要表示平铺地图,为什么不使用CATiledLayer?这就是为在例如地图中看到的平铺提供支持的原因。它提供了具有交叉淡入淡出、支持不同缩放级别等的异步图块绘制。

如果您按照最初的想法去做,我建议您删除屏幕外的图像视图(假设开始时网格足够大)。使用滚动视图委托方法很容易做到这一点。鉴于此,您遇到的任何延迟都可能是由于尝试在主线程上处理一堆图像数据(这是 CATiledLayer 的一个好处;所有绘图都发生在后台线程上)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-24
    • 2012-04-15
    相关资源
    最近更新 更多