StretchDIBits速度测试(HALFTONE)
StretchDIBits速度测试(HALFTONE)
下面实验中显示窗口大小为1024*768,拉伸模式设为HALFTONE.
一、单通道图像
(1) 保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小 |
耗时(ms) |
24*1024 |
9.796325 |
74*1024 |
10.30184 |
124*1024 |
11.06231 |
174*1024 |
11.52316 |
224*1024 |
12.18715 |
274*1024 |
12.82155 |
324*1024 |
13.90718 |
374*1024 |
14.06984 |
424*1024 |
15.17017 |
474*1024 |
16.04815 |
524*1024 |
15.77539 |
574*1024 |
16.67529 |
624*1024 |
17.4869 |
674*1024 |
18.27007 |
724*1024 |
19.01788 |
774*1024 |
19.91023 |
824*1024 |
20.69174 |
874*1024 |
21.47563 |
924*1024 |
22.23963 |
974*1024 |
23.02346 |
1024*1024 |
13.38007 |
1074*1024 |
17.87468 |
1124*1024 |
17.87868 |
1174*1024 |
18.00601 |
1224*1024 |
18.34404 |
1274*1024 |
18.46858 |
1324*1024 |
18.66459 |
1374*1024 |
18.92393 |
1424*1024 |
19.42043 |
1474*1024 |
19.15088 |
1524*1024 |
19.39751 |
1574*1024 |
19.64754 |
1624*1024 |
19.66112 |
1674*1024 |
19.89338 |
1724*1024 |
20.06777 |
1774*1024 |
21.01717 |
1824*1024 |
20.7319 |
1874*1024 |
20.71387 |
1924*1024 |
20.94786 |
1974*1024 |
21.01869 |
2024*1024 |
21.262 |
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0139 b1=9.1524
k2=0.0038 b2=13.7103
另外分界点处耗时有一个陡降。
(2) 保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小 |
耗时(ms) |
1024* 24 |
7.922394 |
1024* 74 |
8.323548 |
1024* 124 |
8.604275 |
1024* 174 |
8.839572 |
1024* 224 |
9.096586 |
1024* 274 |
9.196709 |
1024* 324 |
9.748702 |
1024* 374 |
10.32994 |
1024* 424 |
9.921846 |
1024* 474 |
10.37223 |
1024* 524 |
10.82544 |
1024* 574 |
11.26785 |
1024* 624 |
11.65634 |
1024* 674 |
12.15726 |
1024* 724 |
12.6009 |
1024* 774 |
12.46721 |
1024* 824 |
12.63217 |
1024* 874 |
12.80108 |
1024* 924 |
12.96082 |
1024* 974 |
13.11883 |
1024*1024 |
13.37327 |
1024*1074 |
13.40269 |
1024*1124 |
13.56866 |
1024*1174 |
13.73107 |
1024*1224 |
13.88093 |
1024*1274 |
14.00228 |
1024*1324 |
14.16945 |
1024*1374 |
14.32908 |
1024*1424 |
14.59283 |
1024*1474 |
14.70967 |
1024*1524 |
14.77312 |
1024*1574 |
14.92603 |
1024*1624 |
15.088 |
1024*1674 |
15.25403 |
1024*1724 |
15.39717 |
1024*1774 |
15.57855 |
1024*1824 |
15.70022 |
1024*1874 |
15.86984 |
1024*1924 |
16.02325 |
1024*1974 |
16.19249 |
1024*2024 |
16.39066 |
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像高度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数:
k1=0.0063 b1=7.6820
k2=0.0031 b2=10.0960
二、三通道图像
(1) 保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小 |
耗时(ms) |
24*1024 |
9.712231 |
74*1024 |
10.25534 |
124*1024 |
10.96412 |
174*1024 |
11.37105 |
224*1024 |
12.03373 |
274*1024 |
12.59427 |
324*1024 |
13.67067 |
374*1024 |
13.79808 |
424*1024 |
14.90897 |
474*1024 |
15.75245 |
524*1024 |
15.31296 |
574*1024 |
16.38553 |
624*1024 |
16.99361 |
674*1024 |
17.69326 |
724*1024 |
18.42575 |
774*1024 |
19.25657 |
824*1024 |
20.01591 |
874*1024 |
20.79176 |
924*1024 |
21.66283 |
974*1024 |
22.35087 |
1024*1024 |
12.59428 |
1074*1024 |
17.07724 |
1124*1024 |
17.02248 |
1174*1024 |
17.11959 |
1224*1024 |
17.45603 |
1274*1024 |
17.54791 |
1324*1024 |
17.68652 |
1374*1024 |
17.86168 |
1424*1024 |
18.22364 |
1474*1024 |
18.08724 |
1524*1024 |
18.31654 |
1574*1024 |
18.49236 |
1624*1024 |
18.47719 |
1674*1024 |
18.68564 |
1724*1024 |
18.82272 |
1774*1024 |
19.72777 |
1824*1024 |
19.5421 |
1874*1024 |
19.43485 |
1924*1024 |
19.55297 |
1974*1024 |
19.59999 |
2024*1024 |
19.82148 |
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数分别为:
k1=0.0131 b1= 9.1398
k2=0.0031 b2=13.5624
另外,在分界点处有一个陡降。
(2) 保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小 |
耗时(ms) |
1024* 24 |
8.026322 |
1024* 74 |
8.360508 |
1024* 124 |
8.694708 |
1024* 174 |
8.887985 |
1024* 224 |
8.96708 |
1024* 274 |
9.122874 |
1024* 324 |
9.685652 |
1024* 374 |
10.24135 |
1024* 424 |
9.698556 |
1024* 474 |
10.12444 |
1024* 524 |
10.56098 |
1024* 574 |
10.99098 |
1024* 624 |
11.34635 |
1024* 674 |
11.81408 |
1024* 724 |
12.22322 |
1024* 774 |
12.04397 |
1024* 824 |
12.17597 |
1024* 874 |
12.31361 |
1024* 924 |
12.44259 |
1024* 974 |
12.52316 |
1024*1024 |
12.67153 |
1024*1074 |
12.79061 |
1024*1124 |
12.96766 |
1024*1174 |
13.0645 |
1024*1224 |
13.19001 |
1024*1274 |
13.34681 |
1024*1324 |
13.41933 |
1024*1374 |
13.54006 |
1024*1424 |
13.67576 |
1024*1474 |
13.76805 |
1024*1524 |
13.86556 |
1024*1574 |
13.98719 |
1024*1624 |
14.20426 |
1024*1674 |
14.33093 |
1024*1724 |
14.34395 |
1024*1774 |
14.45257 |
1024*1824 |
14.52384 |
1024*1874 |
14.65117 |
1024*1924 |
14.75053 |
1024*1974 |
14.90093 |
1024*2024 |
15.00206 |
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像高度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数分别为:
k1=0.0056 b1=7.8175
k2=0.0024 b2=10.2718
三、四通道图像
(1) 保持图像高度为1024,宽度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像宽度的关系:
图像大小 |
耗时(ms) |
24*1024 |
9.70437 |
74*1024 |
10.29571 |
124*1024 |
11.08899 |
174*1024 |
11.57984 |
224*1024 |
12.27431 |
274*1024 |
12.95063 |
324*1024 |
14.02857 |
374*1024 |
14.23232 |
424*1024 |
15.31075 |
474*1024 |
16.18275 |
524*1024 |
15.8119 |
574*1024 |
16.73363 |
624*1024 |
17.65325 |
674*1024 |
18.48042 |
724*1024 |
19.21561 |
774*1024 |
20.10856 |
824*1024 |
21.03733 |
874*1024 |
21.66679 |
924*1024 |
22.49946 |
974*1024 |
23.2506 |
1024*1024 |
13.60484 |
1074*1024 |
18.15904 |
1124*1024 |
18.12392 |
1174*1024 |
18.29726 |
1224*1024 |
18.6863 |
1274*1024 |
18.77742 |
1324*1024 |
18.98858 |
1374*1024 |
19.23924 |
1424*1024 |
19.64915 |
1474*1024 |
19.55219 |
1524*1024 |
19.78194 |
1574*1024 |
20.00765 |
1624*1024 |
20.1667 |
1674*1024 |
20.42337 |
1724*1024 |
20.49683 |
1774*1024 |
21.43063 |
1824*1024 |
21.11269 |
1874*1024 |
21.16554 |
1924*1024 |
21.39043 |
1974*1024 |
21.48354 |
2024*1024 |
21.76705 |
将其绘成曲线图如下:
可以看出显示耗时与图像宽度近似成分段线性关系,分界点为图像宽度与显示窗口宽度相等处(1024)。
设y=kx+b(x为图像宽度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数分别为:
K1=0.0142 b1=9.1429
K2=0.0040 b2=13.7226
另外,分界点处有一个陡降。
(2) 保持图像宽度为1024,高度从24到2024递增,递增间隔为50,下表为统计的显示耗时与图像高度的关系:
图像大小 |
耗时(ms) |
1024* 24 |
7.991773 |
1024* 74 |
8.330941 |
1024* 124 |
8.728022 |
1024* 174 |
8.949873 |
1024* 224 |
9.212036 |
1024* 274 |
9.314224 |
1024* 324 |
9.915585 |
1024* 374 |
10.48732 |
1024* 424 |
10.06826 |
1024* 474 |
10.53688 |
1024* 524 |
11.00385 |
1024* 574 |
11.51198 |
1024* 624 |
11.86265 |
1024* 674 |
12.37443 |
1024* 724 |
12.82756 |
1024* 774 |
12.96574 |
1024* 824 |
13.07387 |
1024* 874 |
13.06449 |
1024* 924 |
13.29595 |
1024* 974 |
13.50984 |
1024*1024 |
13.61576 |
1024*1074 |
13.72418 |
1024*1124 |
13.89101 |
1024*1174 |
14.05147 |
1024*1224 |
14.19271 |
1024*1274 |
14.35607 |
1024*1324 |
14.49231 |
1024*1374 |
14.67447 |
1024*1424 |
14.8504 |
1024*1474 |
15.04389 |
1024*1524 |
15.17076 |
1024*1574 |
15.34374 |
1024*1624 |
15.50715 |
1024*1674 |
15.70393 |
1024*1724 |
15.8263 |
1024*1774 |
16.02004 |
1024*1824 |
16.15512 |
1024*1874 |
16.3089 |
1024*1924 |
16.47101 |
1024*1974 |
16.65223 |
1024*2024 |
16.85534 |
将其绘成曲线图如下:
可以看出显示耗时与图像高度近似成分段线性关系,分界点为图像高度与显示窗口高度相等处(768)。
设y=kx+b(x为图像高度,y为显示耗时),利用matlab拟合函数polyfit可分别获得分界点两侧的拟合参数分别为:
k1=0.0066 b1=7.7498
k2=0.0032 b2=10.3651
总结:
利用StretchDIBits进行位图数据显示,缩放模式HALFTONE,不管图像是几通道,特征基本一致:
(1) 显示耗时与图像宽度成分段线性关系,分界点为图像宽度与显示窗口宽度相等处,且图像宽度小于窗口宽度时的一次项系数要大于图像宽度大于窗口宽度时的一次项系数。分界点处耗时有一个陡降。
(2) 显示耗时与图像高度成分段线性关系。分界点为图像高度与显示窗口高度相等处,且图像宽度小于窗口高度时的一次项系数要大于图像宽度大于窗口高度时的一次项系数
下面是一个测试程序,源码下载
StretchDIBits速度测试(HALFTONE)的更多相关文章
- StretchDIBits速度测试(COLORONCOLOR)
下面是一个测试程序,源码下载
- snprintf/strncpy/strlcpy速度测试
速度测试代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <un ...
- iOS5系统API和5个开源库的JSON解析速度测试
iOS5系统API和5个开源库的JSON解析速度测试 iOS5新增了JSON解析的API,我们将其和其他五个开源的JSON解析库进行了解析速度的测试,下面是测试的结果和工程代码附件. 我们选择的测试对 ...
- TF卡速度测试对比 Class数越高速度越快
存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...
- 手机闪存速度测试工具,AndroBench
手机闪存速度测试工具,AndroBench
- VPS性能测试(3):磁盘IO读写速度、SSD硬盘速度测试
1.磁盘IO,即输入/输出(Input/Output),这是测试磁盘性能一个重要指标,一些便宜的VPS主机为了降低成本,以大量的低性能的硬盘来充当服务器,导致VPS主机因为IO差而拖了整个主机性能的后 ...
- 在线HTTP速度测试(响应时间测试)及浏览器兼容测试
一.前言 网站的响应时间,是判断一个网站是否是好网站的重要的因素之一.百度首页的响应时间在全国各个省份小于10ms.这个响应时间远远好于竞争对手.根据美丽说的技术负责人分析,美丽说访问速度提升10%, ...
- Linux硬盘速度测试的命令
测试下硬盘的读写速度如何,在linux下可以使用hdparm 对硬盘进行测试或查看硬盘的相关信息. hdparm 命令进行硬盘速度测试.参数: -a 表示是否关闭磁盘预读取功能.对于大文件读取,这个显 ...
- VPS速度测试(4):上传下载速度、服务器带宽、Ping响应时间
1.VPS的速度好坏经常是我们选择某一个VPS商家的重要参考指标,对于国外的VPS主机我们可以执行以下命令来测试VPS入口带宽是多少. wget https://cachefly.cachefly.n ...
随机推荐
- querySelectorAll和getElementsBy 系列比较
querySelectorAll 相比下面这些方法有什么区别? (1)getElementsByTagName (2)getElementsByClassName (3)getElementsByNa ...
- jmeter使用笔记——流程及常用组件配置
添加线程组 线程数 :对应用户数, Ramp-Up: 多少秒启动这些线程,1秒代表1秒内启动设置的线程数,10秒代表10秒内启动线程数 循环次数: 每个线程执行线程组内的请求循环次数 调度器:可以对线 ...
- .cxx_destruct crash
开发过程中遇到 YXTBaseLabelCell .cxx_destruct崩溃,查了下,会在调用类的dealloc方法时调用cxx_destruct,于是看了下代码,找dealloc可能会崩溃的原因 ...
- ffplay 一些好玩的filter
添加字幕:ffplay -vf drawtext="fontfile=arial.ttf: text='Test Text': x=100: y=300: \ fontsize=48: fo ...
- 生成chm格式帮助文档的步骤
开场前,道具先得被齐全了. 道具:struts2的开源代码(以生成struts2的帮助文档为例).chm格式生成工具jd2chm.exe(网上有) 好了,准备演出 1.在eclipse中新建一个jav ...
- win10环境变量path误删(windows找不到文件‘%windir%\systempropertiesadvanced.exe’)的解决办法
具体步骤如下:1. 首先重新启动电脑,点击开始按钮,选择电源,此时按住键盘上的shift键,再点击“重启”,选择疑难解答->再选择高级选项->再选择启动设置->然后点击重启-> ...
- 基于aspect实现AOP——xml配置的其他操作
将上方配置中的前置通知,可换成环绕通知
- RTP Payload Format for Transport of MPEG-4 Elementary Streams over http
1.SDP (1)Http Request GET /getSdpForUrl?HttpUrl=nphMpeg4/g726-640x480 HTTP/1.0/r/n Host: 58.63.71.90 ...
- SSE2 Intrinsics各函数介绍
http://blog.csdn.net/fengbingchun/article/details/18460199
- error:对‘vtable for new_sequence’未定义的引用 对‘typeinfo for num_sequence’未定义的引用
在设计父类子类继承关系中,经常会出现此类问题. 报错原因:父类中的虚函数只有声明,没有定义. 解决方案 : 1. 定义相关的虚函数的实现. 2. 不实现了,直接搞成纯虚函数留给后代实现. virtua ...