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 ...
随机推荐
- 最全的Android源码目录结构详解【转】
本文转载自:http://blog.csdn.net/yangwen123/article/details/8055025 Android 2.1|-- Makefile|-- bionic ...
- android BLE Peripheral 手机模拟设备发出BLE广播 BluetoothLeAdvertiser
android 从4.3系统开始可以连接BLE设备,这个大家都知道了.iOS是从7.0版本开始支持BLE. android 进入5.0时代时,开放了一个新功能,手机可以模拟设备发出BLE广播, 这个新 ...
- 运行swoole_server方法
运行 php 文件 server.php 运行结果是如下: 只是服务器开启了 如果想看客户端连接的情况 可以测试一下 从新连接一个连接 用命令 方式 telnet 127.0.0.1 9501 这个9 ...
- js 判断滚动条是不是在浏览器底部
http://jingyan.baidu.com/album/86f4a73e91da7837d65269d5.html?picindex=2
- eclipse的工程里的*.properties文件默认以unicode的编码形式显示
今天发现导入eclipse的工程里的*.properties文件无法显示中文,是unicode的编码形式显示的. 原因是Eclipse的.properties文件的默认编码为iso-8859-1. 选 ...
- 【旧文章搬运】关于windbg搜索符号文件的一点说明
原文发表于百度空间,2010-09-07========================================================================== 本来只是打 ...
- 在项目中添加全局的 pch 文件
说明,本片博文仅仅是方便自己以后在添加 pch 文件的配置时候参照使用,担心一些配置的路径由于时间而遗忘. (1)建一个 pch 文件 注意下面要 在 Targets 后打上 对号 (2)对该文件进行 ...
- VR视频原理
VR视频,这里指的是沉浸式全景视频,基本场景是观影者戴上显示头盔(如cardboard),在其中通过头部的转动可以看到全景视频的每个方向的图像.同时也能听到来自各个方向的声音,声音也会随着头部的转动而 ...
- FileWriter 写文件
FileWriter fw = new FileWriter("C://Users//pc//Desktop//aaa.txt",true); fw.write("201 ...
- SQL2005恢复只有mdf文件的数据库
我把原来的数据库分离后,直接把日志文件给干掉了.原来在SQL 2000里经常这么干,只用一个mdf就附加了.没想到sql2005居然不行.我试验了一圈 终于找到一个成功的方法.转载,供后来者参考. S ...