Windows Mobile DirectX 和 Direct3D

更新:2007 年 11 月

.NET Compact Framework 提供了两个命名空间来用于为设备开发托管的 DirectX 和 Direct3D 应用程序:

两个命名空间都位于 Microsoft.WindowsMobile.DirextX.dll 中的 Microsoft.WindowsMobile.DirectX 程序集中。

说明:

托管 Direct3D 移动应用程序需要使用适用于 Pocket PC 和 Smartphone 的 Windows Mobile 5.0 版软件。有关 Windows Mobile 软件和 SDK 的信息,请参见 .NET Compact Framework 的外部资源

这些命名空间大多数为 DirectX 9 托管类的子集,面向个人计算机(桌面)应用程序。但是,移动功能与 DirectX 8 中提供的托管类更加匹配。存在的差异在于缺少对像素和顶点着色器的支持,因为移动设备目前不具备此能力。

注意,.NET Compact Framework 不支持使用 Lock 方法为 IndexBuffer 进行多个锁调用,也不支持使用 Lock 方法为 VertexBuffer 进行多个锁调用。

开发人员应熟悉桌面托管 Direct3D 的开发。DirectX 9 SDK 文档是与移动开发有关的文档。若想获得托管 DirectX 9(桌面)文档,请参见 MSDN Library 中的 Introducing DirectX 9.0 for Managed Code(DirectX 9.0 for Managed Code 简介)。

从以下位置下载 DirectX SDK August 2006(2006 年 8 月版 DirectX SDK)(DirectX 9.0 SDK):Microsoft DirectX Developer Center(Microsoft DirectX 开发人员中心)。

唯一类

某些设备(如 ARM 处理器)不具有内置的浮点功能,这会给性能特征带来很大差异。.NET Compact Framework 提供了固定点格式的类,以便在能够避免大量浮点数学的情况下提供更好的性能。

.NET Compact Framework 提供了移动应用程序特有的下列类和结构:

内存注意事项

开发人员切记,移动开发中可用的处理能力和 RAM 都要低得多,所以要相应地规划资源的使用。用作内容的文件和加载资源很可能存储在 RAM 中,而不是存储在硬盘上或专用的视频内存中。因此,相近的内容量在移动设备上占用的 RAM 要比在桌面计算机上多得多。

有关设备重置后应重新创建哪些对象的信息,请参见管理设备资源

示例

下面的示例演示 Windows Mobile Direct3D:

请参见

其他资源

.NET Compact Framework 中的 Mobile Direct3D 编程