官方 WP7 模拟器使用 800x480 分辨率。我能在计划中的 WP7 手机(例如三星 Cetus i917)上找到的唯一信息共享相同的分辨率。虽然我意识到编写独立于分辨率的程序的吸引力,但我真的更愿意专注于将一组已知的硬件推向最大,而不是牺牲功能和效率来满足所有需求。
假设 800x480 将被广泛用作 WP7 设备的事实标准并进行相应编码,是否相当安全?或者是否有理由(除了显而易见的)我应该在我的程序设计中考虑可变显示分辨率?
官方 WP7 模拟器使用 800x480 分辨率。我能在计划中的 WP7 手机(例如三星 Cetus i917)上找到的唯一信息共享相同的分辨率。虽然我意识到编写独立于分辨率的程序的吸引力,但我真的更愿意专注于将一组已知的硬件推向最大,而不是牺牲功能和效率来满足所有需求。
假设 800x480 将被广泛用作 WP7 设备的事实标准并进行相应编码,是否相当安全?或者是否有理由(除了显而易见的)我应该在我的程序设计中考虑可变显示分辨率?
800x480 目前是 MS 为 WP7 硬件设定的要求。然而我们也知道微软最终会为黑莓手机引入另一种分辨率(我认为是 320x480?)。
剩下的唯一问题是知道这些分辨率是最低要求还是固定要求。
所以回答你的问题:现在可以安全地为 800x480 编码,因为第一批设备都是 800x480
从我一直在阅读的一些 XNA 4 文档中:
我们可以将游戏后台缓冲区的大小定义为不同于目标设备的大小,并根据我们的定义进行绘制。硬件会将我们的图像缩放到目标设备。让硬件将我们的图像缩放到最终的目标尺寸意味着在不同设备之间移植游戏的工作量最少,但为了获得最佳的图像质量,我们应该提前考虑实际的目标显示器。以下代码片段显示了如何为 Windows Phone 7 支持的最大分辨率配置后台缓冲区。
C#
if (this.Window.CurrentOrientation == DisplayOrientation.Portrait)
{
graphics.PreferredBackBufferWidth = 480;
graphics.PreferredBackBufferHeight = 800;
}
else
{
graphics.PreferredBackBufferWidth = 800;
graphics.PreferredBackBufferHeight = 480;
}
最重要的是,他们清楚地将 800x480 指定为支持的最大分辨率。它还展示了在需要时定位多个分辨率是多么容易。
不过,在这种情况下,我假设我的程序只能在 800x480 上运行。
我所能收集到的最新和官方信息与 Darko Z 的观察结果一致。
800x480 现在 480x320 以后
关于微软内部的官方政策和评论,似乎仍然需要支持这两种解决方案,但微软在记录中表示,在发布 480x320 设备并提供相应工具以正确处理之前,此要求不会发挥作用这。
相关讨论和政策文件参考这里。
现在手机都出来了,你可以放心地说一切都是 480x800!