zoukankan      html  css  js  c++  java
  • 如何编写更好的MaxScript

    如何使MaxScript更快?

    对场景物体进行更改时,关闭视图刷新

    当使用MaxScript更改物体,Max会尝试更新物体在视图中的变化。当需要做很多更改时(例如在一个for循环中),如果希望MaxScript能够执行的更快,可以在循环中关闭视图刷新,执行完所有更改后重新开启。可以使用 "redraw off" 以及 disableSceneRedraw() , enableSceneRedraw() 来设置是否开启视图刷新。

    关于相关方法参阅MaxScript Reference中的 :

    Redraw

    Refreshing the Viewports


    必要时关闭撤销

    撤销系统消耗较多内存并降低速度。

    关于相关方法参阅MaxScript Reference中的 :

    undo


    修改面板会导致缓慢,必要时切换至创建面板。

    关于相关方法参阅MaxScript Reference中的 :

    suspendEditing() ,resumeEditing()

    MAX Commands

    Command Panels

    永远不要在你可以获取一行像素的时候去获取单个的像素。

    可以使用Mapped Function的时候,不要使用for循环


    尽量减少计算次数

    fn test4a inVal =

    (

    local res = 0

    for i = 1 to 100 do res += ((inVal * 10) + i)

    res

    )

    fn test4b inVal =

    (

    local res = 0

    local temp = inVal * 10

    for i = 1 to 100 do res += (temp + i)

    res

    )

    循环100000 次:

    test4a 0   -- 20562 msec.

    test4b 0   -- 17797 msec.

    缓存经常使用的对象和函数


    Dice your data into smaller pieces.

    尽可能使用BitArray而不是Array

    如果知道Array的大小,应当在使用前进行初始化

    递归函数可以更快

    MatchPattern 要比FindString更快

    若非必要,不要使用 return, break, exit , continue

    需要较长的字符串时使用 StringStream

    可以使用Name值的时候不要使用string

    若非必要,不要使用Execute


    如何使MaxScript更好?

    尽可能避免全局变量

  • 相关阅读:
    读书笔记--SQL必知必会21--使用游标
    读书笔记--SQL必知必会20--管理事务处理
    读书笔记--SQL必知必会19--存储过程
    读书笔记--SQL必知必会18--视图
    PopupWindow
    android shape的使用
    带删除小图标的EditText
    Android点击EditText文本框之外任何地方隐藏键盘的解决办法
    Android px、dp、sp之间相互转换
    android edittext不弹出软键盘
  • 原文地址:https://www.cnblogs.com/sitt/p/1806202.html
Copyright © 2011-2022 走看看