• 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) 显示耗时与图像高度成分段线性关系。分界点为图像高度与显示窗口高度相等处,且图像宽度小于窗口高度时的一次项系数要大于图像宽度大于窗口高度时的一次项系数

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

  • 相关阅读:
    sql删除重复数据,保留一条
    sql列转行
    异步线程:一次性发送大量邮件
    限制接口的访问次数
    Kibana(安装及其简单crud)
    Elasticsearch(简介及其单节点搭建)
    大数据(日志分析)项目
    大数据(sqoop)
    大数据(Hive数据库、表的详解及其Hive数据导入导出)
    大数据(Hive的MetaStore切换及其Hive的语法细节)
  • 原文地址:https://www.cnblogs.com/luo-peng/p/5792858.html
Copyright © 2020-2023  润新知