![]() |
Оценка производительности графической системы
Собссно возникла потребность сделать некий измеритель скорости работы флэш-графики на отдельно взятой машине.
Ибо у пользователей творятся какие-то странные глюки и отчего это происходит не понятно. Итак, вопрос: как сделать benchmark на флэше? Рекомендованное решение (код ниже) выдает 0 или 1. Увеличил индекс до 100000 - ну стало 30 или 31. На др. компах та же фигня. То есть дисперсии пармтеров явной (а компы ооочень разные) не наблюдается. Видимо тут еще надо на экране что-то этакое вырисовывать, чтобы графическая система напрягалась? Есть ли уже готовые решения (коды) и собссно хоть какая-то статистика по использованию этого тэста на разных системах? Код:
Object.prototype.CPUx = function() |
глюки могут происходить при работе с интервалами...советую проверить, т.к. сам однажды столкнулся
|
вот тут можно поковыряться http://flasher.ru/forum/search.php?searchid=888618
|
С интервалами глюки уже победил. Есть мысль, что просто еще что-то не успевает отрабатывать на компе.
|
вообще если идёт работа исключительно графики и анимации, то такие вещи типа getTimer(), setInterval, setTimeout лучше не юзать (имхо). Заменить всё на onEnterFrame...особенно когда в презентации идёт переход от кадра к кадру...один может не проиграться и начать другой..и всё запорется
|
Ммм... дык игрушка. Юзера отдали приказы на выстрелы и таймер каждые 10 сек проверяет на серваке файл-статус. Когда все игроки отдали свои команды, статус становится == 1 и флэшка пашет себе далее.
Как реализовать 10-секундное ожидание на одном месте, в одном фрэйме? :))) Кста - что за бэнц. clearInterval в произвольном порядке то гасит таймер, то нет. Вот как это можно интерпретировать с т.з. банальной эрудиции? Кста, неоднократно в исходниках видела такую конструкцию: Код:
A = node[i-1].childNodes[0].firstChild.nodeValue; На указанном месте форума ничего внятного не обнаружено. Кроме расчета ФПС. Хм.... Приятно конечно, но маловато... |
По поводу вытаскивания параметров из ХМЛя - есть такой глюк, иногда после присваивания флеш сам меняет тип переменной со стринга на что-то другое (был даже случай, когда пытался посчитать значение - в стринге было что-то типа "100-50"), но если сразу объявить переменную с типом, то вроде как не должен такого делать.
Тайна работы clearInterval'а покрыта мраком %), наверняка нужный интервал убьется той же функцией, которую setInterval вызвал, но если пытаться, например, другим интервалом убить первый - тогда уже как повезет %) Кроме того, интервал не очень точно работает (в глобальной перспективе) т.е. после 1000 вызовов реальное время на них потраченное может сильно отличаться от планируемого. А причин, по которым может "тормозить" просто очень много... Начиная от устаревшей версии директ-Х и заканчивая установленным в эксплорере каким-нибудь гугл-тулбаром... Я бы наверное пробовал тестить как-нибудь на основе использования BitmapData.setPixel/BitmapData.getPixel... |
Проблема в том, что на разных платформах, версиях плеера и разном разрешении экрана и глубине цвета производительность будет разной.
В общем, для теста нужно нарисовать чета большое на экране, подвигать это, посмотреть фпс и переменные среды. Ну и тест на вычисления лучше побольше операторов включить. |
Агаааа!!!
Тогда собссно в студию: что там больше всего жрет ресурсов у флэша при рисовании и вычислениях? Рисование - я думаю кружочек с блюром полазющий по таким же... хм? Вычисления.... тригонометрия? Корни? Логарифмы? :) >BitmapData.setPixel/BitmapData.getPixel... амммм.... в хэлпе - нот фаунд ор нот_экзист! 8-() Флеш у меня - 8-Рго.... хм? |
sweetlove, если вы не состоянии сразу продумать, что хотите написать, то воспользуйтесь кнопкой http://www.flasher.ru/forum/images/r...ttons/edit.gif, а не плодить сообщения одно за другим.
|
| Часовой пояс GMT +4, время: 16:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.