GDI+和DirectX 哪个缩放图片的效率高且占用CPU低 我想对抓屏信号缩放,但要求效率高,想通过GPU来加速,所以希望做过相关实验的大侠们给个意见,使用GDI+好还是DirectX好,怎么缩放图片效率高。小弟不胜感激。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为DirectX的缩放操作是在显卡GPU上做的,所以,基本上不占用CPU;GDI+如果是通过CPU做的(这个不知道GDI+能否设置成用GPU来处理),那么必然占用较多CPU资源;关键看你的缩放显示有多频繁、量有多大,如果图片又大、帧率又较高,那么用DirectX吧。 GDI+效率肯定要底点,你要求效率高,大概要高的啥程度。用内嵌ASM实现的速度比GDI和GDI+的都高很多. GDI+跟DX比,效率低得不是一点,而是几个数量级的区别 直接用cuda,那个才是处理并行运算的。CSDN有关于他的专门论坛。 你要多著名点细节问题,并行算法中有2大问题,一个是算法,一个是数据交换。如果要用显卡运算里面势必要内存和显存的交换,当然这种交换的代价一般都比较大(相对内存和内存间交换),具体的实现要具体分析。DirectX是3维图形显示工具,显卡数据是只写的,要从显卡拿数据是件很麻烦的事,只能通过纹理来搞,就要用到渲染到纹理技术。所以从代码简单角度来说cuda还是首选,当然你的D3D功力够好的话,D3D也是完全可以实现的。 我在这样的调查:将1024*768的电脑屏幕抓图,通过VNC的传输协议到另外的PC上要求的放大的图片的分辨率也特别高(极限可能放大10倍多,要求插值算法抗锯齿),同时帧最低要求是30帧 GDI+有函数可以直接抗锯齿,也可以放大,如果没有特殊要求(比如数据分析),用GDI+就够了,到是你的30帧在传输上是否能达到了。 由于我们做的东西是信号显示用的(接收端做图像放大或缩小),想尽可能的不占用过多的资源 且处理速度快,以便尽可能的不影响系统的其他任务,当然这个有极限我也知道,总想要个最好的解决方案,尽可能的达到目标。传送中用VNC、100M带宽的网络传送效果已经可以很好的达到我们的要求了。 删除类之前,该类的线程还没执行完而出错,要怎么解决? 利用OpenGL画两种图形显示出现问题 非模态对话框的创建 错位联接!(在线等,解决问题另给100分!根贴有分!) 一个CRecordset类的问题,急!!!!!!111 模式对话框问题 急诊!!! ODBC方式操作Sql Server问题,兄弟们,帮帮我吧! 急切求助!!!!!!!!!!!!!!!!!!!!! 急!Clist的运用问题! 我从心电机取得的数据室.ecg格式,我要怎么用VC读取它呢? directx9.0 createdevice总是失败
GDI+如果是通过CPU做的(这个不知道GDI+能否设置成用GPU来处理),那么必然占用较多CPU资源;
关键看你的缩放显示有多频繁、量有多大,如果图片又大、帧率又较高,那么用DirectX吧。
用内嵌ASM实现的速度比GDI和GDI+的都高很多.
所以从代码简单角度来说cuda还是首选,当然你的D3D功力够好的话,D3D也是完全可以实现的。
要求的放大的图片的分辨率也特别高(极限可能放大10倍多,要求插值算法抗锯齿),同时帧最低要求是30帧
传送中用VNC、100M带宽的网络传送效果已经可以很好的达到我们的要求了。