显示实时图形(.net 2.0)

时间:2010-10-03 17:02:46

标签: .net graphics gdi+ real-time

自从MFC以来,这让我困惑多年。我们都知道Windows中的DC限制,这次我真的想摆脱它。

我需要的是能够随时从任何线程绘制某些hWnd,即控制,甚至使用直接位操作!有没有人可以为它提供一些启示。

我更喜欢这个问题应该保持WPF免费。我喜欢GDI,我想保持它的拥抱。

1 个答案:

答案 0 :(得分:2)

  

从任何线程

随时抽取一些hWnd,即控制权

在Windows中不会发生这种情况。基本的Windows控件设计具有线程亲和力。您必须使用创建控件的线程绘制到控件中(即使使用WPF)。 GDI(和GDI +)基于这些技术,并且总是需要使用单个渲染线程。

话虽这么说,你仍然可以做实时图形。只需处理图形线程上的所有处理,并仅将绘图编组到UI线程上。这将足够快地绘制几乎所需的一切。

如果需要绝对渲染速度,您可能需要切换到Direct2D或Direct3D进行渲染。 Direct3D中有多线程渲染选项,但在内部仍然使用锁定。

但是,您应该能够使用D3D以远大于显示器刷新率的方式渲染。