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 ...
随机推荐
- LightOJ - 1104 Birthday Paradox —— 概率
题目链接:https://vjudge.net/problem/LightOJ-1104 1104 - Birthday Paradox PDF (English) Statistics For ...
- Educational Codeforces Round 2 C. Make Palindrome —— 贪心 + 回文串
题目链接:http://codeforces.com/contest/600/problem/C C. Make Palindrome time limit per test 2 seconds me ...
- 编译thrift外篇-关于默认链接包-(使用mapkeeper运行leveldb成功)
根据 https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path 使用 ldconfig -v ...
- 004-画图神器-graphviz
1 安装及基本使用 1) 下载安装 下载地址 可以下载安装版进行安装或者解压版直接使用 2) 添加系统path 为了能够在dos中使用命令, 需要添加环境变量 默认安装路径为 C:\Program F ...
- BZOJ_2002_[Hnoi2010]Bounce 弹飞绵羊_LCT
BZOJ_2002_[Hnoi2010]Bounce 弹飞绵羊_LCT Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏. ...
- 转:CURL库在程序中的运用浅析
CURL库在程序中的运用浅析-nk_ysg-ChinaUnix博客 http://blog.chinaunix.net/uid-22476414-id-3286638.html 这个目录的文章转载fr ...
- GetModuleFileNameW
GetModuleFileNameW( HMODULE hModule, //模块句柄 或应用程序的实例句柄 若参数为NULL,则返回该应用程序全路径 __out_ecount(nSize) LPWS ...
- SpringMVC配置字符过滤器的两种方式
有时候使用SpringMVC框架提交表单时会出现中文乱码,以下是我亲自试验过的配置字符过滤器的两种: 1.在web.xml中配置 <filter> <filter-name>c ...
- Flutter实战视频-移动电商-26.列表页_使用Provide控制子类-2
26.列表页_使用Provide控制子类-2 主要实现功能,点击一级分类,二级分类跟着变.这里主要用哦我们的provide 新建provide provide文件夹下创建:child_category ...
- 13.详解oauth2授权码流程
13.详解oauth2授权码流程 把登陆系统单独独立出来,可以给自己写的微服务用,也可以给第三方的系统调用我们的服务 显式的和隐式的,两种方式,