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. querySelectorAll和getElementsBy 系列比较

    querySelectorAll 相比下面这些方法有什么区别? (1)getElementsByTagName (2)getElementsByClassName (3)getElementsByNa ...

  2. jmeter使用笔记——流程及常用组件配置

    添加线程组 线程数 :对应用户数, Ramp-Up: 多少秒启动这些线程,1秒代表1秒内启动设置的线程数,10秒代表10秒内启动线程数 循环次数: 每个线程执行线程组内的请求循环次数 调度器:可以对线 ...

  3. .cxx_destruct crash

    开发过程中遇到 YXTBaseLabelCell .cxx_destruct崩溃,查了下,会在调用类的dealloc方法时调用cxx_destruct,于是看了下代码,找dealloc可能会崩溃的原因 ...

  4. ffplay 一些好玩的filter

    添加字幕:ffplay -vf drawtext="fontfile=arial.ttf: text='Test Text': x=100: y=300: \ fontsize=48: fo ...

  5. 生成chm格式帮助文档的步骤

    开场前,道具先得被齐全了. 道具:struts2的开源代码(以生成struts2的帮助文档为例).chm格式生成工具jd2chm.exe(网上有) 好了,准备演出 1.在eclipse中新建一个jav ...

  6. win10环境变量path误删(windows找不到文件‘%windir%\systempropertiesadvanced.exe’)的解决办法

    具体步骤如下:1. 首先重新启动电脑,点击开始按钮,选择电源,此时按住键盘上的shift键,再点击“重启”,选择疑难解答->再选择高级选项->再选择启动设置->然后点击重启-> ...

  7. 基于aspect实现AOP——xml配置的其他操作

    将上方配置中的前置通知,可换成环绕通知

  8. 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 ...

  9. SSE2 Intrinsics各函数介绍

    http://blog.csdn.net/fengbingchun/article/details/18460199

  10. error:对‘vtable for new_sequence’未定义的引用 对‘typeinfo for num_sequence’未定义的引用

    在设计父类子类继承关系中,经常会出现此类问题. 报错原因:父类中的虚函数只有声明,没有定义. 解决方案 : 1. 定义相关的虚函数的实现. 2. 不实现了,直接搞成纯虚函数留给后代实现. virtua ...