首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在D3D Xaml/DirectX示例中使用外部DLL中的WinPRT设备进行呈现具有恒定的黑色闪烁

在D3D Xaml/DirectX示例中使用外部DLL中的WinPRT设备进行呈现具有恒定的黑色闪烁
EN

Stack Overflow用户
提问于 2012-11-16 15:56:52
回答 1查看 372关注 0票数 1

我有一个基于C++ DirectX的第三方游戏引擎编译成Windows运行时组件DLL.我正在努力将它集成到一个基于Windows Direct3D和XAML应用程序的项目中。游戏引擎DLL使用应用程序的Direct3DBackplace::D3D ()方法提供的设备、上下文和呈现视图纹理。

样本中内置的渲染器已经消失,并被游戏引擎所取代。

我可以渲染,但有持续的黑色闪烁。其他帧都是黑色的。为了证明它不是渲染器(已经在其他地方被证明是有效的),我从游戏引擎DLL中删除了所有的渲染代码,只需设置一个清晰的颜色。结果仍然一样。

起初,我认为这是因为由示例生成的Direct3DXamlAppComponent可能运行在与游戏引擎DLL不同的线程中,但事实并非如此。他们在同一条线上。

  • 这个配置会导致什么呈现问题?
  • 游戏引擎的渲染器需要一个单独的d3d设备吗?
  • 游戏引擎的渲染器需要一个单独的d3d设备上下文吗?

我还没试过的事情:

  • 在DLL上创建第二个d3d设备。
  • 转换游戏引擎来提供自己的IDrawingSurfaceManipulationHandler。但我不确定它是否会有和上面一样的问题。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-16 20:00:12

问题来自于呈现目标视图。我没有意识到指向它的指针每帧都会被更新。我刚一开始就把它设置为游戏引擎渲染器。现在,我更新每个帧的呈现视图目标指针,现在黑色闪烁消失了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13420042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档