|
|
1
2
|
|
|
2
2
我也见过这个bug。这本身不是SlimDX问题,而是由于DirectX在x87 FP堆栈上使用32位数学。 初始化设备时使用FpuPreserve标志,问题应该会消失。 |
|
|
3
1
我的建议是去掉MDX插件。 我使用过WPF和MDX,但不是在同一个项目中。这两个库都与DirectX通信,最终将在本机级别存储状态,这可能会导致问题。使用WPF时,我遇到了与视频驱动程序相关的渲染问题,修复方法是将视频驱动程序升级到较新版本。 初始化DirectX可能会影响DirectX(以及您的CPU!)对整个应用程序的执行方式。例如,默认情况下初始化MDX时,它将设置CPU在整个过程中以单精度进行所有浮点计算,而不管您如何声明原始值。正如你所想象的,这导致了很长一段时间的困惑,为什么我们在应用程序和单元测试中得到了不同的结果。 我怀疑MDX在初始化时启用或禁用了图形卡中的某些功能或设置(或可能是某些软件设置),这会以某种方式影响WPF管道。 我希望我能更有帮助。祝你好运。 |
|
|
4
1
我也有这个问题。正如mpg所发现的,在设备创建中添加D3DCREATE_FPU_PRESERVE标志将修复此问题。如果有人想知道代码是什么样子的:
|
|
|
5
0
SlimDX 是围绕DX的较新包装,目前正在积极开发中。也许您可以在SlimDX中执行与使用MDX插件相同的操作,滚动条功能再次正常。
|
|
|
6
0
你在Vista上吗?我们已经看到,在Vista目标下运行时,通过创建Direct3D9Ex设备而不是普通设备,很多SlimDX/WPF都会消失。 |
|
|
7
0
我采纳了大家的建议,将我的应用移植到了SlimDX。这还不算太糟糕(在SlimDX中,几乎每个类/方法/字段的名称都与MDX完全相同)。不幸的是,我仍然有同样的问题。我能够将SlimDX和MDX简化为以下应用程序:
滚动条不会显示。如果我确保在创建设备之前绘制列表框,我就能让滚动条显示出来。 最终的解决方案是在构造函数中将WPF列表框添加到我的表单中,然后在表单加载完成后将其删除。
|
|
|
8
0
在WPF的背景下,我支持之前关于MDX的海报中的保留意见。然而,黑暗中有一枪:
|
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |