StretchDIBits速度测试(COLORONCOLOR)
来源:互联网 发布:mac 卸载python idle 编辑:程序博客网 时间:2024/05/21 17:49
StretchDIBits速度测试(COLORONCOLOR)
下面实验中显示窗口大小为1024*768,缩放模式设为COLORONCOLOR.
一、单通道图像
(1)保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小
耗时(ms)
24*1024
0.485881
74*1024
0.594743
124*1024
0.571831
174*1024
0.653185
224*1024
0.739424
274*1024
0.797349
324*1024
0.882883
374*1024
0.948951
424*1024
1.052741
474*1024
1.10279
524*1024
1.209704
574*1024
1.291225
624*1024
1.388616
674*1024
1.481678
724*1024
1.546604
774*1024
1.640871
824*1024
1.622908
874*1024
1.755669
924*1024
1.778222
974*1024
1.84403
1024*1024
2.290068
1074*1024
2.14334
1124*1024
2.137177
1174*1024
2.165749
1224*1024
2.197622
1274*1024
2.210179
1324*1024
2.241017
1374*1024
2.323646
1424*1024
2.359107
1474*1024
2.40872
1524*1024
2.418016
1574*1024
2.54215
1624*1024
2.549388
1674*1024
2.648694
1724*1024
2.685471
1774*1024
2.763146
1824*1024
2.743719
1874*1024
2.885167
1924*1024
2.860264
1974*1024
3.265519
2024*1024
2.497559
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)(暂不考虑最后一个陡降的点)
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0015 b1=0.4179
k2=0.0009 b1=1.0962
关于最后一个陡降的点经过实验发现是的确存在的,原因不明,但后续的耗时恢复正常,所以暂且忽略这个异常的点。
(2)保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小
耗时(ms)
1024* 24
0.361436
1024* 74
0.592388
1024* 124
0.62894
1024* 174
0.691099
1024* 224
0.757364
1024* 274
0.829704
1024* 324
0.912667
1024* 374
0.985629
1024* 424
1.123233
1024* 474
1.127419
1024* 524
1.22558
1024* 574
1.246796
1024* 624
1.314681
1024* 674
1.412767
1024* 724
1.510644
1024* 774
2.289256
1024* 824
2.322529
1024* 874
2.289525
1024* 924
2.308631
1024* 974
2.300291
1024*1024
2.305223
1024*1074
2.313024
1024*1124
2.31014
1024*1174
2.308651
1024*1224
2.319193
1024*1274
2.323176
1024*1324
2.324207
1024*1374
2.325172
1024*1424
2.321219
1024*1474
2.334064
1024*1524
2.316492
1024*1574
2.315742
1024*1624
2.329006
1024*1674
2.321873
1024*1724
2.32554
1024*1774
2.330731
1024*1824
2.331057
1024*1874
2.336948
1024*1924
2.339502
1024*1974
2.33793
1024*2024
2.338746
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像高度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0015 b1=0.4249
k2=0.0000 b2=2.2766
分界点右侧的一次项系数为0,也即图像高度的增加几乎不会导致显示耗时的增加,另外,分界点处的耗时有一个陡增。
二、三通道图像
(1)保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小
耗时(ms)
24*1024
0.496943
74*1024
0.525924
124*1024
0.56152
174*1024
0.625716
224*1024
0.710384
274*1024
0.759371
324*1024
0.820918
374*1024
0.911579
424*1024
0.946737
474*1024
1.024288
524*1024
1.100743
574*1024
1.171984
624*1024
1.289861
674*1024
1.346379
724*1024
1.485398
774*1024
1.568699
824*1024
1.660429
874*1024
1.747256
924*1024
1.823535
974*1024
1.886791
1024*1024
9.406334
1074*1024
9.485967
1124*1024
9.487119
1174*1024
9.617951
1224*1024
9.709512
1274*1024
9.768444
1324*1024
9.798699
1374*1024
9.902748
1424*1024
9.951103
1474*1024
10.00635
1524*1024
9.992558
1574*1024
10.21022
1624*1024
10.20696
1674*1024
10.22107
1724*1024
10.30458
1774*1024
10.34907
1824*1024
10.39685
1874*1024
10.53284
1924*1024
10.56546
1974*1024
10.80934
2024*1024
10.77438
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0015 b1=0.3578
k2=0.0013 b1=8.0543
另外,分界点处的耗时有一个陡增。
(2)保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小
耗时(ms)
1024* 24
0.453282
1024* 74
0.559841
1024* 124
0.650393
1024* 174
0.713092
1024* 224
0.758881
1024* 274
0.828169
1024* 324
0.907679
1024* 374
0.994082
1024* 424
1.052253
1024* 474
1.150243
1024* 524
1.248796
1024* 574
1.309089
1024* 624
1.328522
1024* 674
1.399326
1024* 724
1.520225
1024* 774
9.382084
1024* 824
9.387245
1024* 874
9.397157
1024* 924
9.3715
1024* 974
9.390076
1024*1024
9.399021
1024*1074
9.388517
1024*1124
9.389165
1024*1174
9.407433
1024*1224
9.413657
1024*1274
9.41129
1024*1324
9.38704
1024*1374
9.427486
1024*1424
9.400938
1024*1474
9.415915
1024*1524
9.431978
1024*1574
9.438745
1024*1624
9.449743
1024*1674
9.446803
1024*1724
9.459638
1024*1774
9.475284
1024*1824
9.42492
1024*1874
9.435004
1024*1924
9.436805
1024*1974
9.441407
1024*2024
9.447217
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像高度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0015 b1=0.4429
k2=0.0001 b1=9.3321
右侧的一次项系数几乎为0,也即高度的增加几乎不会再导致显示耗时的增加,另外,分界点处耗时会有一个陡增。
三、四通道图像
(1)保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小
耗时(ms)
24*1024
0.470315
74*1024
0.532987
124*1024
0.571911
174*1024
0.616933
224*1024
0.738879
274*1024
0.801321
324*1024
0.878483
374*1024
0.946771
424*1024
1.025686
474*1024
1.129047
524*1024
1.196909
574*1024
1.271085
624*1024
1.393661
674*1024
1.510324
724*1024
1.612139
774*1024
1.738257
824*1024
1.851156
874*1024
1.935884
924*1024
2.030643
974*1024
2.123686
1024*1024
1.397279
1074*1024
1.466479
1124*1024
1.484383
1174*1024
1.551648
1224*1024
1.545651
1274*1024
1.542259
1324*1024
1.558865
1374*1024
1.572882
1424*1024
1.612407
1474*1024
1.606463
1524*1024
1.615305
1574*1024
1.654366
1624*1024
1.657202
1674*1024
1.671559
1724*1024
1.715028
1774*1024
1.732174
1824*1024
1.728852
1874*1024
1.76246
1924*1024
1.766069
1974*1024
1.813662
2024*1024
1.802157
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0018 b1=0.3249
k2=0.0004 b2=1.0767
另外间断点处耗时会有一个陡降。
(2)保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小
耗时(ms)
1024* 24
0.520621
1024* 74
0.615822
1024* 124
0.630938
1024* 174
0.694383
1024* 224
0.79024
1024* 274
0.843656
1024* 324
0.950601
1024* 374
1.029676
1024* 424
1.100249
1024* 474
1.232784
1024* 524
1.297848
1024* 574
1.339361
1024* 624
1.442296
1024* 674
1.503715
1024* 724
1.620008
1024* 774
1.368446
1024* 824
1.377501
1024* 874
1.536467
1024* 924
1.379138
1024* 974
1.385147
1024*1024
1.409499
1024*1074
1.403418
1024*1124
1.393499
1024*1174
1.404927
1024*1224
1.428232
1024*1274
1.401241
1024*1324
1.41452
1024*1374
1.440644
1024*1424
1.424837
1024*1474
1.41572
1024*1524
1.415339
1024*1574
1.424607
1024*1624
1.423748
1024*1674
1.421063
1024*1724
1.423177
1024*1774
1.436194
1024*1824
1.427017
1024*1874
1.439402
1024*1924
1.432318
1024*1974
1.443736
1024*2024
1.422492
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0016 b1=0.4501
k2=0.0000 b2=1.3835
分界点右侧一次项系数为0,也即图像高度的增加几乎不会导致显示耗时的增加。分界点处耗时会有一个陡降。
总结:
利用StretchDIBits进行位图数据显示,缩放模式COLORONCOLOR,总结特征如下:
(1)显示耗时与图像宽度成分段线性关系,分界点为图像宽度与显示窗口宽度相等处,且图像宽度小于窗口宽度时的一次项系数要大于图像宽度大于窗口宽度时的一次项系数。
(2)显示耗时与图像高度成分段线性关系。分界点为图像高度与显示窗口高度相等处,当图像高度大于显示窗口高度时的一次项系数几乎为0,也即显示耗时几乎不再随着图像高度的增加而增加。
(3)对于同样大小的图像,四通道图像显示最快,其次是单通道图像,最后是三通道图像。
(4)单通道与三通道图像显示耗时随着图像大小的提高而增加,但四通道图像在分界点处却有一个陡降。
下面是一个测试程序,源码下载
- StretchDIBits速度测试(COLORONCOLOR)
- StretchDIBits速度测试(HALFTONE)
- StretchDIBits
- StretchDIBits
- 测试速度
- 测试速度
- 测试速度
- StretchDIBits函数
- StretchDIBits函数
- StretchDIBits用法
- StretchDIBits用法
- StretchDIBits 函数
- StretchDIBits函数
- StretchDIBits用法
- 上网速度测试
- 测试代码执行速度
- Access的速度测试
- 运行速度测试 TestRunSpeed
- UNIX Crom 任务调度配置语法
- Javaweb—Tomcat安装
- LInux_samba文件共享
- Codeforces #368(Div.2)B.Bakery【贪心】
- 如何安装SPSS软件
- StretchDIBits速度测试(COLORONCOLOR)
- [2016/8/21]linux基本操作
- 最简单的基于FFMPEG+SDL的视频播放器 ver2 (采用SDL2.0)
- 最短路-四种算法复杂度分析比较 HDU-1874 畅通工程
- Linux文件系统基础
- 【BFS】HDU 1495
- Qt4 串口第一次打开问题
- assets文件夹下的压缩包解压到sd卡功能实现
- Impala实践之十一:parquet性能测试