相关疑难解决方法(0)

WPF和DirectX 11通过D3DImage

我想从非托管C++代码中使用DirectX 11,并使用WFP作为GUI.SlimDX不适合我.我找到了使用DirectX 10制作WPF的解决方案:

WPF和DirectX 10通过D3DImage

但我无法使用DirectX 11工作.只有两个按钮的空白屏幕.有没有人知道如何使WPF与DirectX 11一起使用.

我还看到,当我刚刚运行这个例子时,英特尔i5 750(Windows 7 64位,NVidia Geforce 430)的CPU使用率约为4-5%.我认为这太多了..是否有可能降低CPU使用率?

你可以在这里找到我的代码:http://www.gamedev.net/topic/619534-wpf-directx-11-via-d3dimage/

c++ directx wpf directx-11

5
推荐指数
1
解决办法
1万
查看次数

D3DImage 和 SharpDX 在慢速硬件上闪烁

我将 SharpDX.WPF 项目用于 WPF 功能,与 SharpDX 附带的工具包(具有相同的问题!)相比,它似乎是一个易于理解的低开销库

首先:我使用以下方法修复了最新 SharpDX 的 SharpDX.WPF 项目: https

然后我对 DXElement.cs 进行了以下 hacky 调整,这里也完成一个解决方案:

private Query queryForCompletion;
    public void Render()
    {
        if (Renderer == null || IsInDesignMode)
            return;

        var test = Renderer as D3D11;
        if (queryForCompletion == null)
        {

            queryForCompletion = new Query(test.Device,
                new QueryDescription {Type = QueryType.Event, Flags = QueryFlags.None});
        }

        Renderer.Render(GetDrawEventArgs());

        Surface.Lock();
        test.Device.ImmediateContext.End(queryForCompletion);
        // wait until drawing completes
        Bool completed;
        var counter = 0;
        while (!(test.Device.ImmediateContext.GetData(queryForCompletion, out completed)
                 && completed)) …
Run Code Online (Sandbox Code Playgroud)

wpf multithreading flicker sharpdx d3dimage

4
推荐指数
1
解决办法
2519
查看次数

标签 统计

wpf ×2

c++ ×1

d3dimage ×1

directx ×1

directx-11 ×1

flicker ×1

multithreading ×1

sharpdx ×1