仅针对Market中的快速Android设备

时间:2010-10-06 21:31:08

标签: android opengl-es google-play

我一直在寻找一种方法,只在市场上向“足够快”的手机展示我的游戏,但我找不到任何好的答案。

有些人建议使用SDK进行定位,但这与速度无关。

我已经看到一些以屏幕尺寸为目标,但是一些Acer手机和HTC Legend对我的游戏来说足够快,但屏幕与HTC Hero相同,这是非常慢的。

我也看到有些人通过OpenGL ES版过滤但我找不到任何类型的数据库告诉我哪些手机有OpenGL ES 2. Android 2.0应该支持它,但我不知道手机是否喜欢HTC Magic在更新到2.0后会支持它,否则它们将被卡在1.1中。

最好的方法是什么?

由于

3 个答案:

答案 0 :(得分:1)

  

有些人建议使用SDK进行定位,但这与速度无关。

我认为任何运行Android 2.2的手机都足够快,无论您想做什么。

  

我也看到有些人按OpenGL ES版本过滤,但我找不到任何类型的数据库,告诉我哪些手机有OpenGL ES 2。

您不需要数据库。在您的清单中加入<uses-feature android:glEsVersion="0x00020000" />,为设备不支持OpenGL-ES 2.0或更高版本的用户提供Android Market will filter out your app

答案 1 :(得分:1)

在归咎于硬件之前,您应该好好查看代码并进行几轮分析和优化。您需要回答的问题是代码的哪一部分导致速度减慢以及原因。在我的旧HTC魔术中,我看到一些非常令人印象深刻的东西快速而平稳地运行,但我也看到相当不起眼的东西运行非常缓慢和生涩。

要求功能强大的硬件可能是快速简便的解决方案 - 如果你可以让它工作(参见上面的所有评论) - 但同时你会错过很多观众。

答案 2 :(得分:0)

您可以测试这是否有效:

将此添加到您的清单(请参阅http://developer.android.com/guide/topics/manifest/supports-gl-texture-element.html

<supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />
<supports-gl-texture android:name="GL_EXT_texture_compression_s3tc" />
<supports-gl-texture android:name="GL_AMD_compressed_ATC_texture" />
<supports-gl-texture android:name="GL_ATI_texture_compression_atitc" />
<supports-gl-texture android:name="GL_AMD_compressed_3DC_texture" />
<supports-gl-texture android:name="L_EXT_texture_compression_dxt1" />

这应该过滤掉所有没有GPU的设备(因为软件仿真不支持上面的纹理压缩格式)。

然而,这只是一个粗略的猜测......