2016-03-22 6 views
0

Autodesk Mayaが起動するまでに時間がかかると訴えているユーザーがいます。これはシーンをロードする前です。ウォールクロックの起動時間を客観的に測定してログに記録し、状況を分析できるようにしたいと考えています。Maya起動時間の客観的な指標を記録できますか?

ウォールクロック測定を実行するロジックは簡単です。私の質問は、どこに論理を引っ掛けることができるかということです。できるだけ早く時計を起動し、プラグインとシェルフツールがすべてロードされ、GUIが表示されたらすぐに停止したいです。

可能であれば、Mayaが空のシーンで開始されたか、シーンファイルで開始されたかどうかを知りたいと思います。

+0

https://stackoverflow.com/questions/29150421/how-to- (すべてがロードされたらすぐに呼び出す必要があります) – d3vid

答えて

3

警告:あなたのuserSetup.pyで

未テスト:最初のアイドル状態マヤの後にタイマX()を発射する必要があります

import maya.mel 
import maya.utils 

def print_time_since_startup(): 
    elapsed = maya.mel.eval("timerX()") 
    cmds.warning ("maya startup time: %s" % elapsed) 

maya.utils.executeDeferred(print_time_since_startup) 

。 2016はプラグインの遅延読み込みを行うように見えるので、の後には事がポップアップする可能性があります。。これが不十分な場合は、cmds.scriptJobjのドキュメントをチェックして、-ctフラグの条件が表示されているかどうかを確認してください。

+0

外部アプリケーションでシステムコールを起動し、ソケットを開く(またはprintコンソールに?)。次に、ユーザー設定で、evalはそのソケットへの通信を延期しました。これにより、userSetupより前の起動時をより正確に説明できます。 melが実行されますが、これは実際にはinitプロセスのかなり遅くに起こります。 – joojaa

+0

AFAIK TimerXは「mayaが初期化されてからの時間」です。 executeDeferredは、Mayaの最初のアイドルイベントを評価するように強制する必要があります。これは、Mayaがインタラクティブであった最初のアイドルイベントです。馬蹄のために十分に近いと思われる – theodox

+0

私の経験では、最新のマヤには当てはまりません。 – joojaa

関連する問題