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)的更多相关文章

  1. StretchDIBits速度测试(COLORONCOLOR)

    下面是一个测试程序,源码下载

  2. snprintf/strncpy/strlcpy速度测试

    速度测试代码: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <un ...

  3. iOS5系统API和5个开源库的JSON解析速度测试

    iOS5系统API和5个开源库的JSON解析速度测试 iOS5新增了JSON解析的API,我们将其和其他五个开源的JSON解析库进行了解析速度的测试,下面是测试的结果和工程代码附件. 我们选择的测试对 ...

  4. TF卡速度测试对比 Class数越高速度越快

    存储卡(TF卡)是手机扩展存储的大杀器,让你多装n部学习资料,多装n个外语听力练习.除了装东西外,存储卡性能不佳也会影响手机的整体性能以及体验的.本文主要针对Android手机,我是懒人,但我讨厌懒人 ...

  5. 手机闪存速度测试工具,AndroBench

    手机闪存速度测试工具,AndroBench

  6. VPS性能测试(3):磁盘IO读写速度、SSD硬盘速度测试

    1.磁盘IO,即输入/输出(Input/Output),这是测试磁盘性能一个重要指标,一些便宜的VPS主机为了降低成本,以大量的低性能的硬盘来充当服务器,导致VPS主机因为IO差而拖了整个主机性能的后 ...

  7. 在线HTTP速度测试(响应时间测试)及浏览器兼容测试

    一.前言 网站的响应时间,是判断一个网站是否是好网站的重要的因素之一.百度首页的响应时间在全国各个省份小于10ms.这个响应时间远远好于竞争对手.根据美丽说的技术负责人分析,美丽说访问速度提升10%, ...

  8. Linux硬盘速度测试的命令

    测试下硬盘的读写速度如何,在linux下可以使用hdparm 对硬盘进行测试或查看硬盘的相关信息. hdparm 命令进行硬盘速度测试.参数: -a 表示是否关闭磁盘预读取功能.对于大文件读取,这个显 ...

  9. VPS速度测试(4):上传下载速度、服务器带宽、Ping响应时间

    1.VPS的速度好坏经常是我们选择某一个VPS商家的重要参考指标,对于国外的VPS主机我们可以执行以下命令来测试VPS入口带宽是多少. wget https://cachefly.cachefly.n ...

随机推荐

  1. MySQL学习笔记(四)——分组数据group by子句和having子句

    分组允许把数据分为多个逻辑组,以便对每个组进行聚集计算. 例如我们查下每个系里有多少名学生: 在使用group by 子句之前,还需要知道一些规定: 1. group by 子句可以包含任意数目的列, ...

  2. CI 模型公用查询函数

    /** * 多字段条件查询数据 * @param array $val array("name" => $value).name为要操作的字段,value为要操作的值 * @ ...

  3. 解决 Git 冲突的 14 个建议和工具

    Git 非常善于合并代码.代码的合并在本地完成,快速而且灵活.正常情况下每次从不同分支合并内容时,冲突有可能会发生.通常解决冲突很简单,就如同知道(如何)选择(保留)重要的更改一样,而有时解决冲突则需 ...

  4. 使用media来加载css

    默认的,css被当做渲染时候必须加载的资源. 设备类型和设备询问允许我们设置一些css资源编程可选的 对于所有的css资源,无论是必须的还是可选的,都会被浏览器加载 The New York Time ...

  5. 多线程之:正确使用 Volatile 变量

    转载:http://www.ibm.com/developerworks/cn/java/j-jtp06197.html Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile ...

  6. RQNOJ魔法石之恋

    魔法石之恋 (stone.pas/c/cpp) [问题描述] 在<Harry Potter and the Sorcerer's Stone>中,想得到魔法石,必须要通过许许多多的测试和游 ...

  7. webstorm怎样查找历史记录

    在webstorm中 文件界面右键,local History --> show History 上面能看到具体的日期和编写的代码. 如果想回到某一次的代码.把中间的代码按>>移入到 ...

  8. C++之函数适配器--绑定器bind原理图解

    转自:http://www.cnblogs.com/xusd-null/p/3698969.html#3081606 本文解释了bind 是如何工作的.为了清晰,图中的语法作了一些简化(例如,省略函数 ...

  9. bzoj 1096 仓库建设 —— 斜率优化DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1096 设 f[i] 为 i 作为最后一个仓库时前 i 个工厂的答案,最后的答案当然是 f[n ...

  10. HDU2444(二分图判定+最大匹配)

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...