我是实现流程:
1.客户端通过Timer 100毫秒截屏一次,转为jpg图片,再转为byte[]
2.通过socket把byte[]传给服务器
3.服务器把byte[]转为图片显示通过测试,发现一个大问题:只要监控桌面的话,客户端CPU使用率都在30%左右。(1G内存,Inter 双核 主频:1.6 总频:1M)有什么方法可以降低cpu使用率?
1.客户端通过Timer 100毫秒截屏一次,转为jpg图片,再转为byte[]
2.通过socket把byte[]传给服务器
3.服务器把byte[]转为图片显示通过测试,发现一个大问题:只要监控桌面的话,客户端CPU使用率都在30%左右。(1G内存,Inter 双核 主频:1.6 总频:1M)有什么方法可以降低cpu使用率?
解决方案 »
- Vs2012不能将DLL里的控件放到工具箱上吗?
- wcf程序错误提示:调用方未由服务进行身份验证
- inset语句执行成功..数据库中却没有数据!急!!!
- 请问微软报表,如何使字段排序
- 协力电脑异动管理员已经停用了对远端/网路异动的支援
- 对于这样的架构,如果实现才能让其体现出[实时]??
- 优化求算法(钢筋切法用料最省)
- 散分,似乎Java速度大于C#大于C++
- 为什么现在企业的ERP和MIS都在选用WEB方式,我发现C/S的VPN连接很好的呀,速度也快,现在的布署也不难
- 咨询:请问用C#进行网络通信编程好不好?如果要和plc通信呢,最好选用什么语言?
- asp.net 启动cmd,mysqldump
- C# listview跪求实现方法.求包养!
private void timer1_Tick(object sender, EventArgs e)
{
Thread t = new Thread(new ThreadStart(this.PrintImage));
t.Start();
}PrintImage()
-->> 包含截图,转换,和发送但是cpu使用率还是那么高。。
但是监控效果不是就打折扣了吗?
Thread t = new Thread(new ThreadStart(BeginPrintImage);
t.IsBackGroud = true;
t.Start();
private void BeginPrintImage()
{
while (true)
{
PrintImage();
Thread.Sleep(100);
}
}把它写出windows服务,使用后台线程来完成。
我没有写成windows服务,cpu使用率比原来下降了一半。但是还有15%左右。
写成windows服务会比较好吗?
我没接触过windows服务,不知道要知道弄。如果有例子的话,可以发一个参考下吗。
谢了!