图形软件与图形工作站硬件巧妙搭配实例详解

来源:互联网 发布:c语言入门最好的书 编辑:程序博客网 时间:2024/04/29 04:45
 图形软件与图形工作站硬件巧妙搭配实例详解
 
前言:现在很多客户都存在一个误区,认为图形工作站一定需要高端,花大把的钱,买上好的配件,专业的图形卡。这样买来的图形工作站的确可以在性能上满足要求,但一定会在资源上带来很大浪费。比如说,要让图形工作站性能达到最优化,图形软件与图形工作站的巧妙搭配是一个很重要的环节。因此,在做图形工作站的选购时,一定要考虑到图形软件对图形工作站硬件支持程度的问题。
 
图形工作站需要正常发挥作用,离开专业的图形软件是不可能的。接下来的时间内,笔者会和大家着重分享一下在图形工作站中如何配置图形软件来使工作站性能达到最大化。
   
  不同的软件对硬件性能有不同的要求。比如说,电脑中图形显示模式,大致可以分为2D(2维/Two Dimensional)和3D立体显示(3维)两种,其中2D图形只涉及所显示景物的表面形态和其平面(水平和垂直)方向运行情况。我们将图面上任何一点引入直角坐标系,那么只需“X、Y”两个参数就能表示其在水平和上下的具体位置。3D图像景物的描述与2D相比增加了“纵深”或“远近”的描述。使其在平面上的物体具有一定的立体感,如果同样引入直角坐标系来描述景物上某一点在空间的位置时,就必须使用“X、Y、Z”三个参数来表示,其中“Z”坐标就是代表该点与图像观察者之间的“距离”或“远近”。在2D和3D模式下,图形工作站对图形软件和硬件的要求成都是不一样的。我们经常接触使用的图形软件如CorelDRAW和Photoshop、Illustrator,还有做Flash常用的Flash MX、Macromedia Flash等都属于平面设计软件,涉及到平面图形制作和显示,对显卡的性能要求并不是很高。这些有有专业的2D图形卡,如 ELSA  FIRE MV2400就够了,这类显卡一般都支持高精度分辨率,支持四屏以上输出。对普通的2D绘图应用,我们可以用一般的游戏卡就可以了,但是,像3D MAX,MAYA,pro/E,UG这一些的3D图形制作软件,都要运用到3D运算,所以显卡要求较高。

  

2D与3D工作模式的区别

2D与3D工作模式的区别

  由于早期软件算的对硬件要求并不高, CPU还能够承担承担电脑2D/3D简单图形的运算,但是cpu并不擅长图形运算,显示效率也很低。随着图形芯片技术的逐步发展,也就开始由显卡承担了所有2D图形的显示处理,因此大大减轻了CPU的负担。这样一来既提高了图形显示速度也让cpu可以去做其更擅长的渲染,因此2D图形加速卡也因此步入主流。由于显示芯片的技术问题,还无法承担3D图形时所须处理的数据量和各种计算,所以3D图形显示的数据计算和处理仍须由CPU完成。1996年美国S3公司开发出最初的S3 Virge芯片,由于其大众化的价格使民用电脑机第一次可已普遍拥有可完成(一小部分)3D显示数据处理的显示图形处理芯片,3D图形加速卡就开始渐渐地被人们当作话题讨论了。当然随着图形芯片技术的不断发展,3d图形软件也开始充分发挥3d硬件的功能,也逐渐的把具有3d加速功能的显示卡当作必要的运行条件,而大量此类软件的出现也使3D图形加速卡成为热点。

由于近年来CPU多核技术的发展,而图形软件还是停留在老的水平上。所以,一部分软件暂时不支持CPU多核系统,下面是我遇到的一个平常的例子,有必要写出来,与大家分享。

  一日,接到一个电话,开门见山的要求:需要工作站,使用Bentley(奔特力)公司的MicroStation图形软件,预算2~3W。前面我说过,预算决定你的配置,配置影响你工作的效率。
  
  正说之前,先让我们了解一下MicroStation图形软件,它主要应用于建筑工程、土木工程、地理工程、工厂设计,而这个客户,主要是应用于大型景观设计、建筑效果图。
  
  图形工作站,对老万来讲,是小菜一碟,驾轻就熟。工作站配置单三下五除二,很快就弄好了,配置表如下:

  

配置表

配置表


 
  客户看过之后表示基本上没有意见,然后告诉我,硬盘需要换成2个SCSI 73G的。我说没有问题,预算充足就是好办事情。其实说句实话,硬盘在这个作图和渲染的过程中,作用基本上很小,只是作为一个数据的载体,不过按照客户的要求,就在原来的基础上加载了一个LSI 320-1的SCSi阵列卡,一切搞定。就等客户带他自己的正版MicroStation过来测试。
 
  星期一,客户如约过来,我先是问了一下客户现在使用的基本配置,P43.0 ,1G 内存,FX 560 128M的显卡,说道具体型号。客户不是很清楚,我也就没有详细问了,因为图形工作站这3样是最基本也是最重要的部分。这3个方面,如果有一个地方存在瓶颈,那么,性能大打折扣,测试的平台是前一天由技术员做好的,还考虑到32位win XP系统不支持4G内存。根据技术人员所说,32位xp系统只能认出3.5G内存,想要完全发挥这个工作站的性能,我们这次装的是64位  XP系统。虽然打过汉化补丁,但是还是很多界面是英文的,系统过程省略不提。
 
  做好系统,我们使用了最新的FX1500驱动程序。在安装完驱动程序之后,需要再次启动工作站,之后,在电脑桌面的右下角,出现一个显卡的选择图标。打开,我们看见这个显卡所支持的大部分专业软件,因为我们使用的是MicroStation。理所当然,在这个选项上打勾,然后提示,重启生效。
 
  因为这个平台是测试使用,所以使用的测试品相对低端一些。下一步就是交给客户测试,在测试过程中,发现无论怎么做,效果都不明显。据他所说,基本和他们现在使用的PC一样效果,就怀疑是这个软件和64位XP不兼容问题,没有办法之后,去掉2G内存重新做系统。然后忙碌一阵子,测试,情况依然。配置不能说有多高端,但至少说来,测试的效果不会象这个样子,我想破脑袋,也想不出问题出现在那里:用最新的驱动程序、最高端的CPU,大容量内存、高端专业卡。这一一试过之后,终无对策。之后,我提出一个要求,想看看客户现在使用的工作站的具体配置和渲染情况。

  过了几天,我应约到了客户的公司。

  客户打开一台双核Cpu的机器,渲染下面一张成形三维建筑效果图:

  

三维建筑效果图

三维建筑效果图
 
  (此图片版权归深圳市雅尚景观设计有限公司)

同时,我打开了任务管理器,经过仔细观察发现, CPU的使用率50%,一般都是维持在这个水平,偶尔会超过51%,而后马上又会回到50%。这说明,CPU根本没有完全利用,而内存使用还不到1G,那么为什么CPU的使用率会上不去呢?难道是MicroStation不支持多核CPU?经过多次测试、论证,我们一致认识到,这是软件不支持多核CPU造成的。

  

CPU利用率

CPU利用率


  如果按照这个理论,一个图形渲染是50%,那么两个图形同时渲染会有什么效果那?既然想到,那么,我就同时打开2个图,开始渲染,结果和我们预料的一样:CPU的利用率一下飙升到100%,这和我们的想法吻合。

   

CPU利用率

CPU利用率


 
  如图所示,同时渲染2个图样的时候,渲染速度和渲染一个图样速度差不多。这就是说,如果想要这套软件完全能够达到使用效果,必有要支持CPU的多核系统。找出Bentley的服务电话,客服人员是这样回答的:软件暂时不支持多核系统.搞了半天,还是这样的结果,真是够老万郁闷的找出以前测试的一套软件渲染时,任务管理器截图,对比一下

  

CPU利用率

  (图样分割渲染 CPU利用100%)

  这个是渲染一个图样,CPU利用率为100%,每个核心都充分利用,CPU利用曲线都是达到最大值,而MicroStationCPU核心利用只有一个,就不难看出,这些问题所在了。既然有了答案,那么就存在两个方向:1方案流产,继续忍受老牛拉破车的感觉  2既然不支持多核,那么就使用高频处理器,来提高渲染速度。

 思考:前面我们使用是CPU 为XEON5335×2的方案,一共就是8个核心,而我们测试的时候,CPU核心只利用了一个,并且这个核心利用是100%,而总的利用率只有12.5%,计算方法如下:

  [(1×100%)/8]100%=12.5%

  从上面可以看出,我们为什么使用了多核系统,反而效果不明显。既然软件不支持多核,那么只用使用高频CPU来解决这个问题了,及时修正了工作站方案,更改CPU为单颗XEON5160,这是intel双核中最高频率的CPU(客户还考虑到使用单核高频,但是这种CPU目前实在难找,需要订货周期),频率为3.0G,测试下来,效果非常明显,提升了不少。等以后软件能支持多核CPU了,再升级一颗。

  总结:单核CPU已经渐行渐远,新生产的机器配置基本上都是使用双核或者多核,这也是未来发展的趋势,这不是以软件开发者意志为转移的。同样不以我们意志为转移的是,在激烈的竞争中,更有效地运用用户资产、提供更优异性能、更强壮的稳定性的一方会占据优势。在实际的应用处理过程中,其实一个处理核心也就足够了,,没必要改进程序。你的用户也许会相信你一时,但是长期来看,当他的机器有4个核,8个核的时候,他一定会迁徙到更能够有效运用其机器资源的方案上去。结论是,CPU的多核化发展,必然要求软件提供良好的支持。

   目前,多数图形软件并没有充分考虑到多核的运行情况,导致线程的平均分配时间以及线程之间的沟通时间都会大大增加,尤其是当线程需要反复访问内存的时候,就会造成软件运行效率的低下。另外,一些图形软件的测试也明白无误地告诉我们,如果没有针对多核进行软件开发,不仅多核提供的强大计算能力得不到充分利用,性能得不到完美体现,甚至还有可能出现“多核不如单核CPU好用”的现象。原因在于传统的程序都是由一个Main函数开始执行程序,然后按顺序执行相应的代码,即所谓的串行,因此同一程序在同一时间只能运行在一个CPU核心上,哪怕该系统上有很多CPU核心,也只能有一个核心发挥作用。

  当一个图形工作人员要进行工作站采购的时候,一定要弄清楚现在使用的软件,是否支持多核CPU,还有对显存的需求、内存容量的大小,这三者不要存在瓶颈问题。最好是沟通销售人员,进行软件测试,做到心里有数。

  

CPU、显存、内存的兼容

CPU、显存、内存的兼容


 
  在这里补充说明一点,也是一个曾经在我这里购买过工作站的人电话过来问我,为什么购买的是1G  FBD  ECC 667的内存条,而实际在显示的时候是533 的频率。这就和CPU的FSB有关了,如果CPU的前端总线是1066,那么,即使使用了667的内存条子,也会降频到533。关于这个为什么是这样,下一篇详细说明。如果能支持多核CPU,这当然最好的结果(如3Dmax)。及时联系软件商,更新或者下载双核补丁程序。如果冒冒失失,不明不白的采购,花再多的钱,也是白白浪费。