仅在单线程中运行
MATLAB 运行时库不支持使用同一个库的多线程运行。
为了实现高速并行测试, Imatest IT Parallel可以使用多个进程,将测试吞吐量提高至三倍。从 5.1 版本开始,ITP 已集成到 IT 中。
只需初始化一次即可多次运行
初始化库需要大量的计算资源,因此首次调用该库的运行速度会比后续运行慢。
库应该在调用程序的整个生命周期内保持初始化状态,而调用程序本身也应该具有合理的生命周期。
每个进程只能调用一次 mclTerminateApplication() 或 terminate() 函数。
多次调用 mclTerminateApplication (C/C++) 或 terminate (Python) 可能会导致应用程序出现不可预测或不希望出现的行为。
分析运行时请勿使用忙等待
调用单独测试程序的主测试程序不应该使用忙等待或自旋锁来等待分析完成。
直接传递映像,而不是写入磁盘。
使用直接传递图像的方式,避免将文件写入磁盘,然后再由 Imatest IT 读取。
高速固态硬盘和机械硬盘缓存的出现可能会降低反复读写磁盘的成本,但也存在其他相关风险。
使用结合了各项测试的分析模块
SFRplus 和 eSFR ISO 会对单张图像执行多种不同的计算。这些模块的性能始终更优。
对于SFR测试,请使用单张图像上的多个区域。
多区域选择允许单个模块测试图像上的多个点。如果您无法使用上述组合分析模块,而必须使用 SFR 进行清晰度测试,请务必使用多区域选择。
设置 MCR_CACHE_ROOT 和 MCR_CACHE_SIZE 环境变量
为了大幅缩短 IT/DLL 和 IT/EXE 调用的启动时间,请创建并设置环境变量MCR_CACHE_ROOT使其指向用户具有读写权限的文件夹;同时,将环境变量MCR_CACHE_SIZE值设置为 900000000 或更大。设置这些环境变量后,IT 初始化期间耗时的解压缩阶段会将数据存储在MCR_CACHE_ROOT文件夹中,而不是存储在 IT 退出后会被删除的临时目录中。如果相关的解压缩数据已存在于MCR_CACHE_ROOT文件夹中,则会跳过解压缩阶段,从而节省大量时间(约 10 秒)。
例子:
适用于 Windows Vista 及更高版本:
要永久设置此环境变量,可以使用setx 命令。打开命令窗口并输入以下命令(将文件夹路径替换为您所需的路径)。
setx /m MCR_CACHE_ROOT "C:\Users\<this_user>\My Documents\MCR_Cache" setx /m MCR_CACHE_SIZE "900000000"
注意“/m”表示该变量将对所有用户定义,并且新的环境变量只有在命令窗口关闭后才可用。
对于 Windows XP 系统,请按照 微软的说明设置环境变量。
对于 Linux 系统:
要使 MCR_CACHE_ROOT 和 MCR_CACHE_SIZE 对所有用户可用,请将其定义附加到/etc/environment或/etc/profile 。
MCR_CACHE_ROOT="/home/<this_user>/Documents/MCR_Cache" MCR_CACHE_SIZE=900000000
否则,请修改~/.profile或~/.bashrc文件以添加定义。
export MCR_CACHE_ROOT=/home/<this_user>/Documents/MCR_Cache
export MCR_CACHE_SIZE=900000000
用硬件解决问题
当软件配置更改无法带来足够的性能提升时,使用具有更快时钟速度和更多处理器核心的计算硬件是提高性能的直接方法。