首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

DX新手关于D2D中render的困惑解决思路

2013-01-25 
DX新手关于D2D中render的困惑最近在做windows8的项目。因为windows8去掉了GDI+,使得普通的xaml+cs(cpp)结构

DX新手关于D2D中render的困惑
最近在做windows8的项目。因为windows8去掉了GDI+,使得普通的xaml+cs(cpp)结构无法使用render。
不得已转入到D2D尝试。
目前在做一个最基本的界面,但是效果总是无法让人满意。
就是根据鼠标画线问题。
在普通的WPF界面中,我们可以只进行局部刷新,但是为什么D2D总是clear后整体重绘?
这样一个1280*1024的界面,效率上能跟上么?
好的,有人说3d游戏都可以,为什么这个不行呢?
但是实际测试中,我每次render,重绘以前所有的线。
感觉5条以后render时间就比较长了。
使得pointevent丢掉很多的点。
请问下各位大牛们,
1.在这个基本应用里,我该如何提高render效率?
  我准备将线绘在一个bitmap上,再将bitmap绘制到corewindow上。
  这样也许只需要绘制最后一条线,但是render时候还是要刷新bitmap到target上啊。
2.在render和mouseevent之间如何取舍?或者有什么其他办法使render不影响event效率?

可能是一些比较基本,比较弱智的问题。新手,轻拍。在此感谢大家。
[解决办法]

引用:
在一个game里难道不会碰到render过多和用户频繁操控之间的冲突么?
怎么优化呢?

难道你的程序连60FPS都跑不到?
[解决办法]
引用:
在一个game里难道不会碰到render过多和用户频繁操控之间的冲突么?
怎么优化呢?


不行就开专门的渲染线程,和消息线程分离,免得互相影响...

DirectX每次render,重绘以前所有的线,如果发现速度跟不上,说明你上次绘制完毕到下一次开始绘制中间这个过程耗时太多(比如你去处理消息...),而不是绘制本身速度跟不上(当然,如果有数十万条以上的线,则是另一种情况了)。

热点排行