社区
C#
帖子详情
请问一下关于GDI+,direct,opengl绘图效率的问题
zhengdaolin
2009-03-03 09:49:52
我需要画的是平面图
图形基本上都是由线段组合而成的
但是数据量比较大,一般一次绘图需要涉及到10000根线段
现在用GDI+做的,比较慢,大概需要1秒左右的时间才能绘制完成
请问如果用direct或者opengl的话,大概能快多少?
谢谢
...全文
742
11
打赏
收藏
请问一下关于GDI+,direct,opengl绘图效率的问题
我需要画的是平面图 图形基本上都是由线段组合而成的 但是数据量比较大,一般一次绘图需要涉及到10000根线段 现在用GDI+做的,比较慢,大概需要1秒左右的时间才能绘制完成 请问如果用direct或者opengl的话,大概能快多少? 谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chen2009zhou
2011-09-10
打赏
举报
回复
路过,来学习学习······
zhengdaolin
2009-03-05
打赏
举报
回复
用direct3d试了一下,比gdi+快了不少,不过还是觉得有点慢
数据量大概是8万条线,d3d画一次大概需要0.5-1秒的时间,gdi+花的时间就要长的多。
opengl还没试过,不知道和d3d比起来速度如何。
北京的雾霾天
2009-03-03
打赏
举报
回复
图形的放大,缩小,平移也没有关系。像AutoCAD这样的软件复杂吧,不也挺快。
画最少的部分、一次性显示出画好的图是个基本的做法。做好了效果就出来了。
zhengdaolin
2009-03-03
打赏
举报
回复
doublebuffer已经在用了
优化的话,如果我的图形需要放大,缩小,平移,你说的这种优化就比较难以实现了。
[Quote=引用 6 楼 hbxtlhx 的回复:]
是显示的慢还是画图就慢?
如果显示的慢可以使用控件.DoubleBuffered = true;
如果是画的慢,考虑下优化,比如只画无效的一部分,或是保存画好的图等。
[/Quote]
北京的雾霾天
2009-03-03
打赏
举报
回复
是显示的慢还是画图就慢?
如果显示的慢可以使用控件.DoubleBuffered = true;
如果是画的慢,考虑下优化,比如只画无效的一部分,或是保存画好的图等。
zhengdaolin
2009-03-03
打赏
举报
回复
我现在就是先画在Bitmap上的
[Quote=引用 4 楼 tweeger 的回复:]
引用楼主 zhengdaolin 的帖子:
我需要画的是平面图
图形基本上都是由线段组合而成的
但是数据量比较大,一般一次绘图需要涉及到10000根线段
现在用GDI+做的,比较慢,大概需要1秒左右的时间才能绘制完成
请问如果用direct或者opengl的话,大概能快多少?
谢谢
如果数据量比较大可以先在后台把图画出来,比如可以先画在Bitmap上,然后再把它贴出来。
我是想说lz可以先考虑是否有别的变通的办法可以解决,不宜直…
[/Quote]
tweeger
2009-03-03
打赏
举报
回复
[Quote=引用楼主 zhengdaolin 的帖子:]
我需要画的是平面图
图形基本上都是由线段组合而成的
但是数据量比较大,一般一次绘图需要涉及到10000根线段
现在用GDI+做的,比较慢,大概需要1秒左右的时间才能绘制完成
请问如果用direct或者opengl的话,大概能快多少?
谢谢
[/Quote]
如果数据量比较大可以先在后台把图画出来,比如可以先画在Bitmap上,然后再把它贴出来。
我是想说lz可以先考虑是否有别的变通的办法可以解决,不宜直接替换开发平台;
delphi_new
2009-03-03
打赏
举报
回复
没研究过
jack20my
2009-03-03
打赏
举报
回复
能块多少不太清楚,用GDI+速度非常慢,让人无法忍受
Cherishny
2009-03-03
打赏
举报
回复
UP
zhengdaolin
2009-03-03
打赏
举报
回复
我就是不知道autocad是用什么东西绘图的啊
另外,如果画面上有10000根线,这个时候我需要缩小画面
那么肯定是要全部重绘的咯?
[Quote=引用 8 楼 hbxtlhx 的回复:]
图形的放大,缩小,平移也没有关系。像AutoCAD这样的软件复杂吧,不也挺快。
画最少的部分、一次性显示出画好的图是个基本的做法。做好了效果就出来了。
[/Quote]
g
di
+
+ 图形引擎
封装了
g
di
+
+ 战时未支持声音 可做一般花的图形效果
C#仿安卓热门游戏 消星星(全部用
G
DI
+
绘制)
C#仿安卓热门游戏 消星星,里面的元素全部用
G
DI
+
绘制,想了解
G
DI
+
的话 看完看完会很有帮助,注释明了
G
DI
包含文件
包含G
DI
的相关文件,用于在C++中引入
G
DI
+
G
DI
实现抗锯齿
G
DI
实现抗锯齿 G
DI
实现抗锯齿 G
DI
实现抗锯齿
wince 画图
效率
测试
ce的四大画图函数测试工具,请试用并汇报结果
C#
111,098
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章