有一個可以在10.4中正常工作的Cocoa視頻捕獲應用程序。它使用NSThread來啓動視頻捕獲驅動程序。當應用程序剛剛啓動時,視頻捕捉非常慢(1-2 fps)。但是,在調整UI窗口大小(或將窗口從背景變爲前景)之後,視頻捕捉速度將恢復正常。這隻發生在10.5。Cocoa 10.5多線程應用程序運行緩慢
1
A
回答
3
不知道具體原因,但你應該用儀器弄清楚是怎麼回事
2
的回答「我的應用程序是緩慢的」始終「運行鯊魚」。有時候,它現在是「Run Instruments」,但在大多數情況下,我發現Shark給了我一個比Instrument更快的答案。
鯊魚當然是在/ Developer/Applications中。如果你沒有安裝CHUD,那就去做,否則你錯過了。
1
我們有一個應用程序使用多線程視頻捕獲和記錄類似於你所描述的。我們使用libdc1394從Firewire相機捕獲,用於顯示的NSOpenGLView以及用於視頻編碼的QuickTime。從相機捕捉是與OpenGL視頻顯示和QuickTime MPEG4編碼分開的線程。
幾個月前,我們將此應用程序遷移到Leopard中,沒有任何不良影響。事實上,Leopard上每秒30幀的視頻CPU負載下降。
你有沒有檢查過,以確保你正確處理所有的NSLocks之類的?我們遇到了性能問題,其中一個線程的鎖定正在停止對另一個線程的操作,因此會降低幀速率。也許你可以看看把鎖放在絕對需要它們的地方,或者通過實現無鎖版本的操作。
相關問題
- 1. 應用程序在uwsgi線程模式下運行緩慢
- 2. C++線程應用程序比非線程運行速度慢
- 3. Asp.net應用程序運行緩慢,但CPU最多爲40%
- 4. 從Cocoa應用程序運行AppleScript
- 5. 使用多線程時程序運行速度較慢
- 6. 同步線程減慢多線程應用程序
- 7. MySQL應用程序在一般使用後運行緩慢
- 8. 運行一個多線程程序同步非常慢Java
- 9. AsyncTask應用程序仍在緩慢運行
- 10. 應用程序在前幾秒運行緩慢?
- 11. Crystal Reports在應用程序中運行緩慢
- 12. 啓動時WPF應用程序運行緩慢
- 13. 這個應用程序爲什麼運行緩慢?
- 14. Netbeans(和其他Java應用程序)在Linux上運行緩慢
- 15. 在Windows 7上運行緩慢的Delphi 6應用程序
- 16. .Net應用程序在IIS7/Server 2008中運行緩慢64位
- 17. 運行subprocess.call來運行Cocoa命令行應用程序
- 18. Python和線程 - 線程如果運行多個進程慢慢死去
- 19. C#創建FileStream到網絡共享多線程應用程序緩慢
- 20. Vista上運行緩慢的VB6應用程序很多「快速IO失敗」
- 21. 在多線程CMD行應用程序
- 22. css應用程序與谷歌應用程序引擎緩慢
- 23. 捲曲緩慢多線程dns
- 24. ExecutorService緩慢多線程性能
- 25. Java,多線程應用程序,運行時的主窗口
- 26. 如何運行多線程應用程序?
- 27. Python GUI(tkinter.ttk)應用程序緩慢
- 28. ASP.Net應用程序加載緩慢 - VS2008
- 29. Twitter Fabric.io應用程序上傳緩慢
- 30. getbitmap使應用程序緩慢