【发布时间】:2011-05-18 20:19:28
【问题描述】:
这在 iPhone 4 和 3GS 上运行良好:
scrollView.layer.cornerRadius = 11;
scrollView.layer.masksToBounds = YES;
但在 iPhone 3G 和 iPod touch 2nd gen 上,滚动真的很生涩。我知道有一些技巧可以提高CALayer 阴影的性能,例如(将shouldRasterize 设置为YES 和shadowPath 属性),CALayer 的cornerRadius 有什么类似的方法可以做吗?
【问题讨论】:
-
hmm.. 我的理解是 cglayers 是在 GPU 上渲染的。可能是您的问题的根源。
-
您是否建议任何解决方法?我很清楚旧设备的 GPU 速度要慢得多。难道没有办法获得相同的结果,但使用 CPU?
-
我认为问题在于它是使用 CPU 而不是 GPU 来渲染圆角。据我所知,在旧设备上获得活泼圆角的唯一方法是避免
cornerRadius,而是在drawRect:中进行剪切绘图或在UIImage中绘图。 -
我很好奇,你试过让视图不透明吗?
-
不确定这是否适合您,但值得一读 stackoverflow.com/questions/2595267/…
标签: iphone performance ios uiscrollview calayer