gpt4 book ai didi

iphone - 在 iOS 上做阴影的最快方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 11:48:44 25 4
gpt4 key购买 nike

QuartzCore .layer.shadow 的性能提升。每次发生变化时,它们似乎都需要重新渲染,从而导致一切滞后。

Coregraphics 渐变(用于 1 路阴影) - 看起来不正确。如果您的渐变从 0.3 alpha 变为 0,它会产生一些奇怪的效果,您可以“看到”它停止。就是不好看,也不自然。也许它没有抖动,但我确信我听说核心图形渐变是。很奇怪,我不知道。

Coregraphics 阴影 - 设置它们时需要一段时间来渲染,但除此之外性能非常好。就在您等待 View 出现的那一刻,因为它必须首先渲染它的阴影,这就是问题所在。

所以我一定错过了什么。是否有另一种看起来正确且渲染时间和性能都很快的方法?

最佳答案

添加 shadowPath 应该会给您带来巨大的性能提升。以下示例假设您只想要 View 两侧的阴影

CGPathRef path = [UIBezierPath bezierPathWithRect:view.bounds].CGPath;
[view.layer setShadowPath:path];

编辑:默认情况下,CALayer 在动画期间绘制阴影,以下代码允许您将阴影缓存为位图并重复使用它而不是重新绘制它:

self.view.layer.shouldRasterize = YES;
// Don't forget the rasterization scale
// I spent days trying to figure out why retina display assets weren't working as expected
self.view.layer.rasterizationScale = [UIScreen mainScreen].scale;

关于iphone - 在 iOS 上做阴影的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10133109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com