Просмотр полной версии : системные требования для приложения
Приветствую!
Возник такой вопрос. Например есть большая игра сделанная на AS3.0. Много анимаций, кода и тд. И эта игра на слабых компьютерах часто тормозит, а на мощных работает нормально. И будет в игре некоторый функционал, который должен отключать "тяжёлые анимации" на слабых машинах. Как можно выяснить и понять слабый у пользователя компьютер или нет?
Собрать статистику по компу флеш насколько я знаю не умеет, воспользуйтесь сторонними возможностями, например PHP или JAVA. Вполне решат вашу задачу.
А по поводу отключения анимаций - stage.quality вам в помощь, решает много проблем, ну и качество портится - все как положено :)
в том то и дело, что качество портить не желательно. Сторонние возможности тоже хорошо. Но игра как продукт. Которая будет запускаться у разных пользователей. И нужно решать сразу что делать. Что мне могут дать сторонние возможности и как потом поступить со всей этой информацией?
Замерьте фпс на машине пользователя. Если меньше порога - отключите эффекты.
Небольшой тест на 1-2 секунды в начале. Причём, графику можно изначально сделать в alpha = 0, пользователь её не увидит, а вы получите его "примерную" производительность.
А вообще, я не видел что-бы кто-то этим заморачивался. Для обычных флешь игр, где рендер происходит классическим способом на CPU, устанавливают кнопку quality с тремя состояниями и хватает сполна.
фпс может быть ошибочным, например если у пользователя включено много приложений, всё работает и забита память а параметры машины мощные
фпс может быть ошибочным, например если у пользователя включено много приложений, всё работает и забита память а параметры машины мощные
В таком случае, юзер и поиграть нормально не сможет. Так-что, тест будет показывать вполне объективные результаты.
Я вам советую - просто добавить кнопку для переключения quality, что-бы всегда была на виду и пользователь сам решал, надо ему high quality или нет. Лучшая практика.
может быть, может быть...
AlexCooper
05.10.2013, 13:40
может быть, может быть...
так и есть
Я вам советую - просто добавить кнопку для переключения quality Так я вообще то об этом сказал в первом посте, автор же говорит - не хочу, чтобы качество падало. А оно упадет - причем ОЧЕНЬ сильно
mikhailk
05.10.2013, 14:47
Попытка автоматически подстраивать качество визуализации под производительность компьютера у нас в свое время потерпела полный крах. :) Пытались замерять фпс разными способами, чтобы вычислить некий усредненный показатель (и даже добились высокой точности :) ), но правда в том, что пользователь параллельно с твоей игрой открывает еще пару игр, качает музыку/видео, а виндовс тихой сапой на заднем плане тоже что-то там делает в своих интересах. Были реальные обиды от пользователей с навороченными компьютерами, у которых фпс вычислялся как 12.
А вообще, чтобы забыть эти проблемы, достаточно просто отказаться от вектора.
А вообще, чтобы забыть эти проблемы, достаточно просто отказаться от вектора. Вот бы все так просто было, отказался от вектора - и радуйся. А как же скейлинг без кубиков? Конечно задачи у всего разные, но я например настолько педант, что заблокировал бы 98% сайтов рунета только за то, что у них на левой рамочке уголок меньше, чем на правой, вот так вот я трепетно отношусь к дизайну - все должно быть идеально, по крайней мере - так хочется. вектор же помогает нам это сделать, местами...
Можно использовать предварительное кеширование перед запуском игры - всей векторной графики в растр и под нужное разрешение. Способ немного сложноватый, так как требует хорошей организаций игрового графического движка, некоторый опыт.
Если уж соберётесь всё переводить в растр, то может быть, использовать GPU (Starling) ? С ним вам вообще не придётся беспокоиться о производительности графики.
а как такое реализовывают в не флеш играх, когда при запуске игры выставляются настройки графики относительно параметров компьютера?
Akopalipsis
05.10.2013, 21:18
А разве в обычные игры можно играть без лагов с
фпс может быть ошибочным, например если у пользователя включено много приложений, всё работает и забита память а параметры машины мощные
mikhailk
06.10.2013, 00:24
Вот бы все так просто было, отказался от вектора - и радуйся. А как же скейлинг без кубиков?
Это вечная проблема - шашечки или ехать. :)
Я полагаю, что клиентский программер должен объяснить геймдизу, от какого функционала имеет смысл отказаться, чтобы потом не влететь в тормоза. Это если про игры. Если это всякие флеш-приблуды для сайтов, там этих проблем, на мой взгляд, нет.
Если уж соберётесь всё переводить в растр, то может быть, использовать GPU (Starling) ? С ним вам вообще не придётся беспокоиться о производительности графики.
...при условии, что Stage3D поддерживается на компьютере пользователя. Сейчас у меня как раз проект со Starling'ом. Производительность, конечно, впечатляет. Но вот если GPU не подключается, то вилы...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.