有一个可以在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使应用程序缓慢