Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.04.2011, 19:58
Follower вне форума Посмотреть профиль Отправить личное сообщение для Follower Найти все сообщения от Follower
  № 1  
Ответить с цитированием
Follower
 
Аватар для Follower

Регистрация: May 2010
Сообщений: 34
По умолчанию Очень медленно на сайте, быстро локально

Здравствуйте.
Необходимо было сделать плавное движение. Поставил таймер с интервалом в 1, получилось плавно, но медленно. Где-то прочитал, что количество кадров в секунду влияет и на таймеры, то есть если стоит 24 кадра в секунду, то минимальный интервал будет около 40 мс. Вкрутил в свойствах документа до 120, стало летать в самой программе, раза в полтора побыстрее стало, если запустить локально, и точно так же осталось на сайте. Глянул в html'е, создаваемом publish'ем, ничего про framerate там не нашел. Как убыстрить анимацию?

Старый 03.04.2011, 20:03
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 2  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
с каким фрейрейтом публикация сегенерена, с тем она и будет всегда.
ФПС - может прыгать, в зависимости от нагрузки процессора графикой.
а таймер он по времени тикает, которое есть объективная реальность и неизменна

все прочее - рывки, сглаживание - улучшайте графику. или пример выложите.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 03.04.2011, 20:31
Follower вне форума Посмотреть профиль Отправить личное сообщение для Follower Найти все сообщения от Follower
  № 3  
Ответить с цитированием
Follower
 
Аватар для Follower

Регистрация: May 2010
Сообщений: 34
Ну не знаю, не знаю. Точно говорю - у меня фреймрейт документа влияет на скорость объекта, движущегося по таймеру. Я и сам думал, что таймер по времени считает, ан нет. Вы проверьте на простеньком примере.
UPD: Поставил 1 в свойствах документа - ужосужосужос. Рывками и с черепашьей скоростью. Во всей флешке 1 кадр, движение на таймерах, а вот поди ж ты...


Последний раз редактировалось Follower; 03.04.2011 в 20:35.
Старый 03.04.2011, 20:46
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 4  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
да я как бы так слегка не знаю что проверить.
таймер - это таймер. я сейчас кучу примеров хоть простеньких хоть сложных изображу
но если он каждые 100 мсек с таймера получает _х+=1, то он имено так у меня и двигается всегда
вы свой код лучше покажите, так мы барыжить до морковкиного заговения будем
другое дело если у вас на движение где-то onEnterFrame повешен. Так это слегка совсем другое дело.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 03.04.2011, 20:53
Follower вне форума Посмотреть профиль Отправить личное сообщение для Follower Найти все сообщения от Follower
  № 5  
Ответить с цитированием
Follower
 
Аватар для Follower

Регистрация: May 2010
Сообщений: 34
Код:
var Tim:Timer = new Timer(1,125);
Tim.addEventListener(TimerEvent.TIMER, tick);
Tim.addEventListener(TimerEvent.TIMER_COMPLETE, end);
function tick(e:TimerEvent):void
{
	for (i=endN-wNum; i<=endN; i++)
	{
		imgLoader[cycle][i].x +=  sh;//again no 'if' :)
	}
}
Теоретически должно за 125/1000 секунды пробежать, но нет же.
Может, дело в том, что их 5 одновременно двигается?
UPD: Timer frequency is limited to 60 frames per second, meaning a delay lower than 16.6 milliseconds causes runtime problems. - с сайта adobe. 60 fps - это 2 секунды движения, вместо нужных мне 0.5. Ну ладно же.
Сделал по 3 пикселя зараз, стало терпимо.


Последний раз редактировалось Follower; 03.04.2011 в 21:18.
Старый 03.04.2011, 21:17
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
updateAfterEvent() попрбуйте после каждого цикла изменения координат.
__________________
Идите первым!

Старый 03.04.2011, 21:44
incoob вне форума Посмотреть профиль Отправить личное сообщение для incoob Найти все сообщения от incoob
  № 7  
Ответить с цитированием
incoob

Регистрация: Mar 2008
Сообщений: 215
Может дело в wmode? Попробуйте при публикации в window выставить.

Старый 03.04.2011, 21:45
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 8  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
EventDispatcher.addEventListener()
Availability:Flash Player 6 (6.0.79.0).
Edition:Flash MX 2004 and Flash MX Professional 2004.

Хм. Ну.... это нечто оочень старое. Под 6-й плэер. Вполне возможно что оно будет глючить

Tim:Timer = new Timer - это из АС3 ?

Я что-то в результате не могу понять, на какаом языке это написано и под какой плэер?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 04.04.2011, 05:20
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 9  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Никогда не получалось добиться плавного движения объектов через использование Timer(), setTimeout(), setInterval(). Видимо они изначально не предназначаются для таких вещей (в AS3.0, во всяком случае). Но, частота кадров, действительно, не может влиять на частоту срабатывания таймера, возможно движение, просто, лучше сглаживается из за высокой частоты.

Лучше используйте Tween() из пакета fl.transitions., там можно задавать как кадровую длительность выполнения, так и временную (последней, правда, не пользуюсь).

Старый 04.04.2011, 12:18
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
setInterval + updateAfterEvent() либо onEnterFrame при хорошем fps дают нормальную плавность движения.
А tween лучше использовать от Greensock, тот же TweenLite. Я, например, давно на него перешел от встроенного Tween.
Вот сравнительные тесты разных твинов.
__________________
Идите первым!

Создать новую тему Ответ Часовой пояс GMT +4, время: 01:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.