Cocoa 石英/可可与Qt4的图像缩放性能

Cocoa 石英/可可与Qt4的图像缩放性能,cocoa,qt4,quartz-graphics,scale,Cocoa,Qt4,Quartz Graphics,Scale,我在Qt4中编写了一个测试应用程序,它使用QImage.scaled或QPixmap.scaled方法,但速度非常慢。即使是透视变换也要快一些,而缩放变换同样要慢一些。 [我试图直接缩放QPainter,但我不掌握paintEvent,因此我总是让painter处于非活动状态,或者根本不调用paintEvent。因此我不知道画家的缩放性能。] 我在这里问,石英/可可是否也存在同样的问题,或者它们在类似任务中的性能更好。我对原生Quartz pdf渲染功能和后续图像缩放特别感兴趣 NIRTimer

我在Qt4中编写了一个测试应用程序,它使用QImage.scaled或QPixmap.scaled方法,但速度非常慢。即使是透视变换也要快一些,而缩放变换同样要慢一些。 [我试图直接缩放QPainter,但我不掌握paintEvent,因此我总是让painter处于非活动状态,或者根本不调用paintEvent。因此我不知道画家的缩放性能。] 我在这里问,石英/可可是否也存在同样的问题,或者它们在类似任务中的性能更好。我对原生Quartz pdf渲染功能和后续图像缩放特别感兴趣

NIRTimer *timer = [NIRTimer timer];
    [timer start];
    NSImage *image = [[NSImage alloc]initWithContentsOfFile:@"filename"];
    NSImage *scaledImage = [[NSImage alloc]initWithSize:NSMakeSize(720, 480)];
    [scaledImage lockFocus];
    [image drawInRect:NSMakeRect(0, 0, 720, 480) fromRect:NSZeroRect operation:NSCompositeSourceAtop fraction:1];
    [scaledImage unlockFocus];
    [image release];
    [scaledImage release];
    NSLog(@"time: %ld", [timer microseconds]);

这是用Cocoa缩放图像的方法,需要80000微秒0.08秒。

80000µs毫无意义,除非您告诉我们是哪个系统,并将其与同一系统上的Qt4进行比较。80毫秒实际上是相当慢的缩放图像。最好在创建原始图像后开始测量,因为这取决于磁盘I/O性能。