引言
ZEMAX的下一个版本将可以同时在32位和64位机器中使用,如果你的Windows操作系统是64位的(你的计算机如果是在两年之内买的,大多数是这样的),64位的版本可以允许ZEMAX在你的机器上加载所有需要的资源,这对于那些使用大的非序列光线追迹,大的POP计算或是他们的电脑中有很多CPU的用户来说非常有用。由于每一个CPU都需要一个完整的镜头数据,所以当在多核CPU支持32位内存空间的机器上运行大的计算工作时,总的可寻址存储空间就会是一个限制。
本文介绍了64位版本的目前测试程序,测试版的代码可以免费下载,但是在安装测试版之前还是应该充分阅读这篇文章。
为什么开发64位的版本
32位的操作系统能够解决232=4G的内存空间。Windows分区让2G的空间用于应用软件,剩余的2G用于操作系统本身,虽然有一个开关可以让应用软件的使用达到3G的RAM。
一个64位的操作系统原则上能够解决264=1.8*1010G的内存空间,它对于任何人都足够了。现在,一个入门级的64位WindowsVista版本的电脑可以支持多达128G的物理内存。Windows的不同版本有着不同的最大内存限制。
我们在生产的64位版本的ZEMAX软件有两个目的:第一,用户当然想让自己的软件能够使用硬件上的所有资源,而不仅仅是一个通过32位代码处理的子集。但更重要的是,ZEMAX是一个完全多线程的应用程序,这意味着它可以在您计算机的所有CPU上进行拆分计算。如今入门级的电脑都是双核的,4核的也比较常见,8核的算是高端机了,但成本仍然仅在3千美金—4千美金。ZEMAX软件可以支持最多16个CPU,并且我们还将继续扩大数量,使硬件变的更可用。
每一个CPU都需要所有镜头数据的完整副本,因此随着CPU数量的增加,所需的内存也会增加。用户如果有一个大的非序列分析或是大的POP计算,将更受益于64位平台上更大的内存可用性。
例如,这里有一个通过微透镜阵列实现的大的POP计算在一个8核CPU上要占用5G的内存,它不可能在32位的内存空间中实现。
2009年6月9日的ZEMAX版本是最后一个32位唯一释放版,未来的版本将可以同时在32位和64位机上使用。这种变化的一个后果是一些过时的密钥类型(并行端口密钥和紫色的USB密钥)无论是在32位或64位版本中都不再支持。那些有着技术支持并一直使用旧版本密钥的用户我们会安排免费更换以便能够运行未来的版本。
先前32位的ZEMAX版本,默认安装在64位版本的Windows的C:/programfiles(x86)/ZEMAX文件夹下,64位的版本也会默认安装在这个文件夹下,因此如果你愿意的话可以将32位和64位的版本同时安装在64位的机器上。但64位的版本不能安装在32位的机器上,如果你这样做的话安装会出现一个错误的报告并且终止。
需要注意的是如果您在64位机上安装了32位的ZEMAX版本,ZEMAX仍然无法访问超过32位的内存空间。为了得益于64位的操作系统,您必须使用64位的ZEMAX版本。
接着,以前的ZEMAX版本将会把它的程序和数据文件安装到/programfiles文件夹中,此试用版,以及所有未来版本的ZEMAX,会把可执行代码安装到/programfiles/ZEMAX文件夹中,但是所有的数据文件将安装到%COMMONDOCUMENTS%\ZEMAX文件夹中。它将是一个电脑上的所有用户之间的共享文件,在WindowsXP和早期的Windows版本中,它转换到C:\DocumentsandSettings\AllUsers\Documents\ZEMAX中,而对于Vista和Windows7系统,它转换到C:\Users\Public\PublicDocuments\ZEMAX。
这一变化将程序数据从可执行代码中分离出来以符合目前最好的计算机安全做法,它也消除了最近开始发生的安全问题,Vista用户也无需手动设置文件夹的权限。
我们决定ZEMAX不会自动地将旧的数据文件移到新的地址,而是留给用户手动地根据自己的需求来移动。我们实施了很多请求的功能去定义“项目”文件夹File…Preferences…Folders:
现在,您可以通过保存/载入文件设置参数来定义项目文件夹,这意味着CAD对象,源比色法文件,玻璃库等等现在能够存储在一个先前项目中或是一个新的文件夹中。这两种方法可以在适合您的级别上任意混合。如果您希望继续将数据文件保存在/programfiles下(我们不再建议),您可以根据自己的喜好设置文件夹标签并保存它。
另请注意,任何用户定义你写的DLL必须重新编译64位的变种。我们不久将公布一些简单的实例去演示如何做到这一点。所有的DLL我们会随着ZEMAX软件一并分发,它们同时支持32位和64位的版本。
任何扩展,用户定义的操作数或代码,DDE的沟通与ZEMAX软件将继续正常工作,而无论它们是32位还是64位。
请记住这是测试代码,它不是一个提前释放的经过充分调试和全面测试的代码。我们不知道64位版本中还有没有错误,因此发布这个测试版还是想得到有意愿用户在使用过程中的帮助。请告诉我们您发现的任何错误,并发表您的意见到support@zemax.com。
还有什么是新的?
除了是64位,目前ZEMAX软件还可以用日语就像英语一样可以支持其他一些语言的用户界面。到目前为止,这是一个部分翻译的用户界面,而如何全面贯彻落实我们的翻译将取决于我们从用户处接收到的反馈信息。让我们知道您的想法!
转换语言的开关在File…Preferences…Misc:
新增加的通用功能:
在大多数分析图表中用户可以自定义网格线的密度。
对于一些非球面类型射线拦截码已经提高了对更多光线的追迹速度并为更多的极端射线角度提供了强大的支持。
ZEMAX存档文件(ZAR)现在支持数据压缩以减少文件大小。
在波长对话框中波长现在显示4个更重要的符号。
新增的分析功能:
散射函数观察器现在能在角空间的数据点之间显示替代了的ABg数据。
几何像分析列表现在列出了发出光线的总数目。
新增的非序列功能:
现在的源文件报告的总能量是以当前的源单位而不是瓦。
新增的扩展功能:
添加绘图命令GRID到创建一个栅格背景看起来像是标准的ZEMAX图表网格线。
错误修正:
当ZEMAX决定多少线程输出时,估计没有考虑对进口的CAD对象的内存使用情况,如果CAD对象是大型的但内存有限可能会导致失败。
RI_BSDF.DLL文件已被更新,以改善离轴入射光线的光线产生。
无热的玻璃图数据列表显示出折射率和阿贝数,没有色差和热功率。
布尔操作过程中的内存泄露是固定的。