注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Antonieo's

Life is not wonderful , therefor it is .

 
 
 

日志

 
 

Autodesk Softimage (XSI) ICE 笔记3  

2009-07-06 18:30:01|  分类: Dev Mem |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1.Loaction属性不能用于构建数组,使用几何采样节点(Get Geometry Sample)产生的Location(per Point)值使用点数组的形式访问时会导致Softimage(XSI)崩溃

2.尽管ICE的大部分节点支持多线程计算,Repeat循环却是单线程的(即使循环的内容是多线程的),1000次几何循环采样(每帧)就已经导致我无法实时流畅模拟(帧率10左右)。因此,通过Repeat循环进行迭代计算的时候会出现计算效率上的瓶颈,多核心在这种情况下无法发挥全部能量,CPU的单核心频率和内存频率(包括内存时序)会决定Repeat操作的执行效率。
注:我进行了如下测试,通过Repeat每帧循环1000次,每次循环执行:几何体采样并把采样坐标填入预定数组(Reserve Array)。使用Intel Core 2核心的cpu,核心频率在3.0GHz时帧率保持在8.1~8.6之间,频率提升到3.4GHz后成绩保持在10.3~10.8之间。另外,用E6550和Q9550对比测试证实,同频率、同核心类型的双核CPU和四核CPU成绩相同,Repeat节点确实是单线程的。

3.循环中断,这在任何一种编程语言中都有对应的操作指令,但是在ICE中实现循环中断却只能使用比较有限的方法。目前我使用的方法是,在循环过程中满足预定的循环结束条件后,通过If判断输出空操作,这样循环事实上已经在这里结束,剩余的循环将全部执行空操作,而计算机循环执行空操作是飞快的,ICE在这方面也没犯傻。但是,这种方法有点傻,因为尽管已经满足结束循环的条件,Repeat还是会把预定的循环次数执行完…………

4.,Reserve Array(预定数组)在创建时按照预定成员数量一次性向系统申请相应的内存空间。在计算过程中不断添加新成员的时,预定数组可以避免不断为新成员向系统申请内存的状况,从而优化计算效率。
  评论这张
 
阅读(451)| 评论(1)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017