Обнаружение хорошего графического процессора на Android
Я ищу безопасный способ определить, принадлежит ли текущий графический процессор к текущему высококлассному профилю (например, Motorola Atrix или Galaxy s2), чтобы я мог во время выполнения включить некоторые более сложные визуальные эффекты в моей игре.
Кто-нибудь успешно сделал что-нибудь подобное? Я думаю об обнаружении двухъядерного процессора, который обычно поставляется с хорошим графическим процессором, но у меня нет достаточно устройств, чтобы проверить, будет ли он работать нормально в большинстве ситуаций.
4 ответа
Если для этих "более сложных визуальных эффектов" требуются расширения OpenGL ES, вы можете просто проверить наличие этих расширений.
Если этого не произойдет, возможно, в долгосрочной перспективе было бы лучше просто позволить пользователю настроить свои графические настройки. В противном случае, если выйдет новый графический процессор, его не будет в вашем жестко запрограммированном списке графических процессоров, и поэтому они получат низкокачественную графику.
Получить доступные процессоры: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Runtime.html()
Android, находящийся выше ядра Linux, рассматривал ли вы чтение последовательно и парсинг /proc/cpuinfo
файл?
Поскольку я делаю приложение, а не игру, мне нужно автоматически настроить то, что лучше. Для размера текстур я проверяю размер кучи и использую кучу. Также небольшие текстуры при работе в программном режиме (PixelFlinger).
Если у него достаточно свободного кучи и 2 процессора, я запускаю 3d движок в OpenGL 2.0 с AA. До сих пор это прекрасно работает с количеством устройств, которые у нас есть.
Примечание: я заметил, что некоторые телефонные ромы сообщают о 1 процессоре бесплатно, когда есть 2.