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