我已经在这里问过这个问题(上一个问题),但它只有少数视图和零答案/评论,所以我想我会再试一次,并提供一些我发现的更多信息。
我基本上有一个正在开发的 Windows Store DirectX + XAML 应用程序。我目前遇到的问题是,当用户与应用程序交互时,有时不会调用我用于 DirectX 渲染的SwapChainBackgroundPanel的渲染事件(根据 MSDN 上的 Windows 8 示例)。
如果我正在使用相机进行某些操作,例如根据触摸/鼠标位置更改其正在查看的内容,它将继续更新,但如果我正在选择并且我不知道为什么,它将不会被调用。
我使用标准的 GPU 拾取方法(我为每个对象使用独特的颜色渲染场景,然后获取按下区域的 1x1 纹理以找到选定的对象)但是当我使用这种拾取技术来选择多个对象时(用户将手指/鼠标拖到许多对象上)未调用渲染。所以实际上发生的事情是,许多对象被选中,但用户只有在他们移开手指/停止按下鼠标按钮时才能看到这一点。
发生这种情况有什么原因吗?是因为GPU采摘方式吗?如果是这样,有没有办法绕过它而不是使用光线跟踪拾取方法(这会大大减慢大量对象的拾取速度)?
有没有其他人有这个问题?微软是否有任何解释,故意在这种情况发生时不调用渲染?
谢谢你的时间。