gpt4 book ai didi

ios - "Performing a coSTLy unpadding operation!"——它是什么,如何修复?

转载 作者:可可西里 更新时间:2023-11-01 04:40:27 33 4
gpt4 key购买 nike

我的 Core Filters 测试应用程序的调试控制台显示此消息:

CGImageRef 0x7a0e890 has row byte padding. Performing a costly unpadding operation!

我无法在 header 或 Google 搜索中找到准确消息(减去指针信息)的匹配项。

我的问题是 (1) 这是什么意思,以及 (2) 我该如何纠正这种情况?

以下是我如何使用 CIFilter 生成过滤后的 UIImage 的示例。

- (UIImage*)sepia
{
CIImage *beginImage = [CIImage imageWithCGImage:[self CGImage]];
CIContext *context = [CIContext contextWithOptions:nil];

CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"
keysAndValues: kCIInputImageKey, beginImage,
@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
CIImage *outputImage = [filter outputImage];

CGImageRef cgimg =
[context createCGImage:outputImage fromRect:[outputImage extent]];
UIImage *newImg = [UIImage imageWithCGImage:cgimg];

self = newImg;

CGImageRelease(cgimg);
return self;
}

最佳答案

字节填充是添加到每个图像行末尾的额外字节,以确保每行从内存中的 2^n 字节倍数开始。这以图像大小为代价提高了内存访问性能。如果您将 CGImageGetBytesPerRow 的结果与根据图像尺寸和每像素字节数计算的预期每行字节数进行比较,则可以检查这一点。

至于如何纠正取消填充 - 您需要准确找到触发取消填充的操作并从那里获取它。取消填充是昂贵的,因为基本上整个图像内存需要重新洗牌以消除所有行尾间隙。

关于ios - "Performing a coSTLy unpadding operation!"——它是什么,如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172838/

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