DirectX和最新Windows Mobile版本的性能

时间:2009-08-12 10:53:59

标签: windows-mobile directx

我在使用WindowsMo​​bile的托管DirectDraw包装器时看到的性能非常差。

Microsoft.WindowsMo​​bile.DirectX.Direct3D程序

在构建场景之后,我会看到最大的瓶颈是调用Device.Present()。

使用System.Diagnostics.Stopwatch并运行这个非常简单的例子 Using Sprites on MSDN

我发现调用Device.Present()方法需要大约150ms。

我在AT& T Tilt和模拟器上看到了这个。

在较大的应用程序(例如UltimateGMan示例)中,它会花费一秒钟来调用此方法。

有没有人有在移动设备上使用DirectX的经验?我错过了什么?我宁愿留在托管世界,但如果我回到C ++,我会看到更好的表现吗?

2 个答案:

答案 0 :(得分:2)

AFAIK HTC TTYN II存在问题(AKA AT& T Tilt)。它没有硬件3D驱动程序(它也应该)。 This可能是您问题的根源。

This网站意味着手机上的表现非常垃圾。

答案 1 :(得分:1)

根据此链接

http://j2i.net/blogs/home/archive/2009/07/18/identifying-your-direct3d-driver.aspx

您可以使用以下代码确定设备上Direct3D驱动程序的类型:

AdapterListCollection al = Manager.Adapters;
string driver = al.Default.Information.DriverName.ToString();

Joel Ivory Johnson写道:

  

如果您运行此代码,那就是您的一件事   想要小心是一个司机   名为“d3dmref.dll”。如果你有这个   司机然后那意味着你没有OEM   为您创建/许可驱动程序   设备和图形将呈现   每帧秒数。