Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c macOS Mojave 10.14.5上某些硬件配置中的图像绘制代码速度较慢_Objective C_Macos_Cocoa_Macos Mojave - Fatal编程技术网

Objective c macOS Mojave 10.14.5上某些硬件配置中的图像绘制代码速度较慢

Objective c macOS Mojave 10.14.5上某些硬件配置中的图像绘制代码速度较慢,objective-c,macos,cocoa,macos-mojave,Objective C,Macos,Cocoa,Macos Mojave,上面的代码片段在macOS Mojave上的一些随机Mac硬件配置上速度较慢,例如: 它在较旧的macOS版本上运行良好 对于某些设备硬件配置,它在macOS Mojave上也可以正常运行,例如: 莫哈韦是否有一些更新/更改可能导致这种情况?“运行速度较慢”和“运行良好”很难确定。您特别提到了Mojave—代码在早期版本的所有系统上都“运行良好”吗?您最好提供一些数据,清楚地显示系统/操作系统版本之间的性能差异。你有没有试过用仪器来运行你的代码,看看什么东西慢?实际上,drawInRect:

上面的代码片段在macOS Mojave上的一些随机Mac硬件配置上速度较慢,例如:

它在较旧的macOS版本上运行良好

对于某些设备硬件配置,它在macOS Mojave上也可以正常运行,例如:

莫哈韦是否有一些更新/更改可能导致这种情况?

“运行速度较慢”和“运行良好”很难确定。您特别提到了Mojave—代码在早期版本的所有系统上都“运行良好”吗?您最好提供一些数据,清楚地显示系统/操作系统版本之间的性能差异。你有没有试过用仪器来运行你的代码,看看什么东西慢?实际上,
drawInRect:
将不是缩放图像的最有效方法,如果您对性能敏感,您应该考虑其他方法,例如CoreGraphics
NSImage *tempImage = [[NSImage alloc] initWithData:data];

NSImage *tempSmallImage = [[NSImage alloc]
      initWithSize:NSMakeSize(MAX_SIDE,
                              (MAX_SIDE /
                               [tempImage size].width) *
                                  [tempImage size].height)];
[tempSmallImage lockFocus];
[tempImage drawInRect:NSMakeRect(0, 0, [tempSmallImage size].width,
                                   [tempSmallImage size].height)
               fromRect:NSZeroRect
              operation:NSCompositeSourceOver
               fraction:1.0];
[tempSmallImage unlockFocus];