环境
- Windows XP SP3 x32
- Visual Studio 2005 标准版
- Honeywell Dolphin 9500 Pocket PC/Windows Mobile 2003 平台
- .NET Framework 1.1 和 .NET Compact Framework 1.0 SP3
- 使用 VC#
问题
当我将内置摄像头和 Honeywell SDK ImageControl 中的图像保存到设备的存储卡或内存中时,需要 6 - 7 秒。
我当前将图像保存为 PNG,但也可以选择 BMP 或 JPG。
code 中的相关行:144-184和222,特别是162,163和222。
目标
我想将该时间减少到 2 或 3 秒左右,如果可能的话甚至更短。
作为第二个目标,我正在寻找一个适用于 Pocket PC 2003 设备的分析套件专门支持 .NET Compact Framework 版本 1.0。理想情况下,免费但不受约束的简短教程也可以。
我尝试过的事情
- 我通过 System.Threading 研究了一些异步 I/O,但我没有经验知道这是否是一个好主意,也不知道如何为单个操作实现线程。
- 通过像下面的代码中那样实现线程,速度似乎会增加一秒或更短。然而,下一个表单上的某些内容需要图像,可能是在保存的过程中,我真的不知道如何减少等待或处理这种情况。
- 编辑:将保存格式从 PNG 更改为 BMP 或 JPG,使用线程,似乎可以大大减少保存时间。。
代码
http://friendpaste.com/3J1d5acHO3lTlDNTz7LQzB
让我知道代码是否应该在代码标签中发布。它有点长(约 226 行),所以我继续和 friend 粘贴它,因为这在我的上一篇文章中似乎是可以接受的。
最佳答案
通过将保存格式从 PNG 更改为 BMP 并包含代码链接中显示的线程代码,我能够将保存时间减少到约 1 秒。
关于multithreading - Pocket PC 2003 C# 性能问题...我应该对其进行线程处理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5392900/