On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение



Сообщение: 8
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 01.10.08 07:38. Заголовок: WME и тормоза...


Ситуация такая. На сцене несколько анимированных (looping) объектов (entety). Часть активирована, часть нет. В момент, когда я из скрипта активирую неактивные объекты и делаю им PlayAnim или SetSprite, то игра неприятно подтормаживает. Некритично, но впечатление портит безвозвратно. Я так понимаю, что подтормаживает из-за PlayAnim и SetSprite, которые подгружают новые анимации. Как с этим бороться, как сделать так, чтобы при загрузке сцены, были загружены все анимации для объектов на сцене (как например у актера)? Но для объектов все анимации хранятся в независимых sprite, поэтому нигде не связаны.

Еще какие есть советы по оптимизации в WME, чтобы ничего не тормозило. А то пара объектов начнет проигрывать анимацию и все подторможивает.
Например, когда именно надо ставить галочку streamins у спрайтов. Т.е. по логике получается, что для всех спрайтов с одним кадром она должна стоять.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 15 [только новые]


moderator




Сообщение: 93
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 01.10.08 09:42. Заголовок: А зачем ты запускаеш..


А зачем ты запускаешь анимацию скриптом? Это необходимо? Можно сразу прицепить анимированный спрайт к объекту.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 9
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 01.10.08 12:24. Заголовок: Для объекта сделано ..


Для объекта сделано несколько анимаций. Грубо говоря, анимация проявления, постоянная анимация и анимация исчезания. Я соответственно цепляю за entity эти спрайты исходя из действий на сцене.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Сообщение: 94
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 01.10.08 13:07. Заголовок: Тормоза, скорее всег..


Тормоза, скорее всего, происходят из-за большого количества анимированных объектов в сцене.
Какие у твоей машины характеристики (видеокарта, процессор, оперативная память)?

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 30
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 01.10.08 22:33. Заголовок: Возможно тормоза от ..


Возможно тормоза от большого колличества кадров в каждой анимации. Я когда начинал все эти дела ковырять, делал в одной сцене часы с маятником. Так для более плавного хода маятника я делал инимацию 25 кадров/сек. И это была не единственная анимация в сцене. Плюс еще были открывающеся/закрывающиеся ящики стола (тоже 25 FPS), которые открывались/закрывались таким же способом - заменой спрайта. Естественно это все жутко тормозило. Ищи компромисы.

_________________________

Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 10
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 02.10.08 07:44. Заголовок: В общем я так и дума..


В общем я так и думал. Буду резать число кадров и двигать объекты из скрипта.
Кстати, а если в анимации много кадров (20-30), но на самом деле оригинальных среди них 3-5, а все остальное движение делаются средствами редактора спрайтов WME?

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 12
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 02.10.08 12:41. Заголовок: Еще такая мысль появ..


Еще такая мысль появилась.
В момент загрузки сцены. Брать все объекты на ней по очереди делать их неактивными, а потом делать SetSprite для всех аниаций, которые этот объект будет испольлзовать. Затем либо оставлять объект неактивным, либо активным. Если я понимаю, то таким образом в память загрузятся все анимации (если он не streaming), а неактивность объекта позволит избежать проигрывания звуков в этих анимациях.
Сцена начинается с фейда, поэтому все эти манипцляции будут происходить при черном экране.

Это сработает? Или анимация будет подгружаться только, когда объект становится активным?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Сообщение: 96
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 02.10.08 13:43. Заголовок: Лучший ответ - это в..


Лучший ответ - это взять и попробовать

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 13
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 02.10.08 14:19. Заголовок: Так я хочу точно зна..


Так я хочу точно знать как это работает, а не домысливать

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 15
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 10.10.08 10:20. Заголовок: В общем самый правил..


В общем самый правильный путь, чтобы не тормозило, это объекты на сцене превращать в актеров, тогда все их анимации будут подгружаться сразу и не будут тормозить.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 23
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 14.10.08 14:09. Заголовок: Раз уж эта тема полу..


Раз уж эта тема получилась про оптимизацию в WME. Появилс такой вопрос.
Я в сцене пишу несколько Scena.LoadActor и когда перехожу на другую сцену, мне надо писать Scena.UnloadObject, чтобы игра выгрузила все ненужное из памяти, или движок делает это автоматически при переходе к другой сцене?


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Сообщение: 106
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 14.10.08 16:12. Заголовок: Персонажей надо выгр..


Персонажей надо выгружать вручную.

Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 25
Зарегистрирован: 25.06.08
Репутация: 0
ссылка на сообщение  Отправлено: 14.10.08 17:35. Заголовок: Мне показалось, что ..


Мне показалось, что при Scene.LoadActor выгружается автоматически при переходе в другую локацию. А при Gamee.LoadActor соответственно надо выгружать.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Сообщение: 110
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 15.10.08 06:41. Заголовок: Хм, ну вообще это ло..


Хм, ну вообще это логично. А есть метод Scene.LoadActor()? Я обычно гружу с помощью Game.LoadActor()

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 31
Зарегистрирован: 23.10.07
Репутация: 1
ссылка на сообщение  Отправлено: 15.10.08 08:23. Заголовок: Есть, вот тут я писа..


Есть, вот тут я писал об этом.
http://wme.forum24.ru/?1-3-0-00000006-000-0-0-1222888067


_________________________

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Сообщение: 111
Зарегистрирован: 10.07.07
Откуда: Россия, Новосибирск
Репутация: 0
ссылка на сообщение  Отправлено: 15.10.08 15:55. Заголовок: :sm36: ..




Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет