我正在爲使用python的Maya 2011編寫一個插件。爲了利用我的機器上的所有內核(運行Windows 7 32位)並加速插件的性能,我使用多處理模塊創建了多個進程。當創建進程時,會彈出輸出窗口(最初在啓動Maya時彈出)。爲了解決這個問題,我讀了this的討論。當我將mayapy.exe設置爲可執行文件時,由於新進程是使用multiprocessing.Process(...)創建的,因此會彈出另一個窗口(看起來像命令行窗口)。窗口的數量與進程的數量相同,這些窗口剛剛出現並隨着進程執行完畢而消失。 我無法理解出現這些小窗口的原因,我不希望這些窗口彈出,請幫助。Maya中的多處理彈出一個窗口
0
A
回答
0
防止蟒蛇從彈出的控制檯窗口的典型方法是增加一個「W」到文件名末尾「mypythonfile.pyw」
0
我不得不使用subprocess.Popen同樣的問題在Maya 如果您將startupinfo = subprocess.STARTUPINFO.wShowWindow.SW_HIDE傳遞給Popen構造函數,這會隱藏命令行子流程窗口。 讀: http://msdn.microsoft.com/en-us/library/ms686331%28v=vs.85%29.aspx
我猜相同威力是multiprocessing.Process也是如此,雖然我在Windows中我不是現在進行測試。
0
根據@ tranimatronic的回答,您應該能夠使用子進程標記生成單獨的MayaPy副本。確切的標誌取決於您的操作系統:
Cross-platform subprocess with hidden window
然而,你可能會有問題,如果您嘗試共享您的過程中的場景信息:每個人是瑪雅人的一個完全獨立的副本。如果它是一個大批量作業,並且您可以共享一個只讀文件(例如,您想一次渲染動畫或烘焙燈的一部分),但是您將無法執行並行處理在同一場景中(例如,創建幾何圖形)。一般來說,如果你在做計算密集型的事情,而你真的關心Maya中的多核,那麼你可能會對C++ API有更好的運氣。
另請注意:default maya version of subprocess doesn't use pipes like ordinary python:
相關問題
- 1. 處理Adobe彈出窗口
- 2. 在httpclient中處理彈出窗口
- 3. 在Selenium中處理彈出窗口
- 4. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 5. 硒的webdriver處理窗口彈出
- 6. 從另一個彈出窗口打開一個彈出窗口
- 7. gtkmm - 多個窗口/彈出窗口
- 8. 多個彈出窗口
- 9. 如何同時處理多個彈出窗口
- 10. 處理ios系統彈出窗口
- 11. 使用javascript處理彈出窗口
- 12. 處理授權彈出窗口
- 13. Selenium Webdriver處理彈出式窗口
- 14. 內置iphone彈出窗口處理
- 15. Jquery Rqin中的多個彈出窗口
- 16. 一個彈出式窗口
- 17. 是否可以像UIWebView中的窗口一樣彈出一個彈出窗口?
- 18. 如何處理彈出窗口以訪問彈出窗口元素
- 19. 處理程序在刷新父窗口後彈出窗口
- 20. 多個圖像處理程序調用IE造成在彈出的窗口中
- 21. 多窗口處理
- 22. 硒C#處理Windows窗體彈出窗口中硒C#
- 23. 彈出窗口的多個實例
- 24. 多個彈出窗口的JavaScript問題
- 25. 用JavaScript中心彈出一個窗口
- 26. 打開webview中彈出一個窗口
- 27. 在多個窗口中處理事件
- 28. 在Python中處理多個窗口
- 29. 在PyGTK/GtkBuilder中處理多個窗口
- 30. 在Selenium Webdriver中處理多個窗口
謝謝,我會試試看。 – qurban 2013-06-07 05:50:11