JBenchmark: спидометр для Java-телефонов?
Сегодня покупателей телефонов трудно удивить разнообразием. Большой выбор моделей давно стал нормой жизни для уважающих себя магазинов и салонов. Но при большом ассортименте неизбежно возникает вопрос – а на основе каких критериев, собственно говоря, надо выбирать?
Если вы выбираете телефон для игр (а мы надеемся, что это так), то важным критерием при покупке будет производительность телефона на Java-играх и программах. Как узнать, какая модель круче? Какой телефон меньше тормозит и выдает большее количество кадров в секунду? На эти вопросы ответит JBenchmark – спидометр для телефонов с J2Me.
Что это такое?
JBenchmark – это небольшая, в 23 килобайта, Java-программа, которая последовательно запускает пять десятисекундных тестов и подсчитывает производительность, которую выдает телефон на этих тестах.
При этом последовательно измеряется скорость вывода текста, скорость отрисовки двухмерных фигур, мощность в работе с трехмерной графикой, скорость заливки цветом и скорость анимации.
После того, как все пять тестов будут пройдены, JBenchmark подсчитывает баллы по каждому тесту и суммирует общий балл, показывающий мощность данной модели. Считается, что чем выше общий балл, тем быстрее будут бегать на этом телефоне Java-программы.
Правда, следует иметь в виду, что для игр важны не все функции, которые используются при тестировании. К счастью, кроме общего балла, JBenchmark также выводит отдельные результаты по отдельным тестам.





JBenchmark в деталях
Первый из пяти тестов измеряет скорость вывода текста на экран. В течение десяти секунд на экран телефона выбрасываются разноцветные надписи. И чем больше надписей успеет появиться за десять секунд, тем выше будет балл по параметру Text.
Но вывод текста не столь критичен для игр, как следующие параметры.
Второй тест – 2D Shapes – заключается в рисовании случайных двухмерных фигур. Программа использует свои собственные функции для рисования треугольников и четырехугольников (без прямых углов). Производительность работы с такими фигурами отражает скорость работы почти во всех графических приложениях, в том числе и в играх.
Третий тест – 3D Shapes - пытается отрисовать трехмерный куб в движении, тем самым испытывая прочность машины на работу с трехмерной графикой. Это тоже важный параметр для игр, особенно использующих трехмерную графику, вроде Stalk N Shoot.
Тест Fill Rate заключается в заполнении экрана маленькими разноцветными квадратами. Утверждается, что это наиболее «тяжелая» работа для многих телефонов, которые не успевают за десять секунд заполнить экран даже два раза. Это вызвано особенностями реализации текущего стандарта J2Me (отсутствие прямой адресации к пикселам).
И последний тест – Animation – последовательно меняет несколько кадров, создавая анимацию в виде вращающего земного шара. Это, можно сказать, наиболее важный тест для большинства Java-игр, поскольку анимация в них используется очень и очень часто.
Насколько это серьезно?
Теперь, наверное, пришла пора ответить на самый главный вопрос. Годится ли JBenchmark для оценки производительности телефона в играх?
Скажем так, не совсем. Дело в том, что в играх, как правило, используются специальные классы Java для конкретной модели телефона. Для примера, в телефонах от Nokia имеется целый ряд специальных функций для ускорения работы с графикой. И оптимизированная с учетом этих функций игра может просто летать на телефоне, хотя по тесту JBenchmark данная модель может показывать далеко не блестящие результаты.
Вывод — тест JBenchmark годится лишь для общей оценки производительности Java-машины на том или ином телефоне. Он не учитывает оптимизацию, которую можно провести за счет дополнительных расширений Java для конкретных моделей.
Тем не менее, общая оценка – это тоже оценка. Это как бы гарантия минимальной производительности телефона на Java-программах.
Кроме того, эти тесты также хорошо подходят для оценки мощности телефона на бесплатных играх и программах, которые в большинстве своем пишутся без какой-либо оптимизации под конкретные модели.
В конце статьи приводится таблица результатов теста для разных мобильников, по которым сделать интересные выводы. Получается, что некоторые старые модели обгоняют по производительности более новые телефоны от того же производителя. Скорее всего, это и есть доказательство того, что тест не учитывает оптимизацию и специальные расширения Java, которые все активнее и чаще используются в последних моделях.
Где взять тест для проверки?
Программу Java Benchmark можно бесплатно скачать с сайта Jbenchmark.com или с его wap-версии — wap.jbenchmark.com.
Поскольку программа написана без использования специальных классов Java, то ее можно запустить на любом мобильном устройстве, на котором есть поддержка J2Me, включая наладонные компьютеры. Так, на сайте Java Benchmark в таблице рейтингов можно найти данные по Palm и Pocket PC.
Предлагаю вам протестировать свои телефоны и выложить рез-ты.
Думаю, покупателям новых телефонов поможет определиться с выбором телефона и рассчитывать на определенную производительность.
Не забываем в скобках указывать разрешения экрана. И перед запуском бенчмарка перезагружать телефон