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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

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

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
Question Необходимы советы по оптимизации сайта

Здравствуйте.

Не так давно нами (студия Simpepack — дизайн, я — программирование ианимация) был разработан сайт этой же студии: http://simplepack.ru/

Сайт (AS2) очень объёмный с большим количеством анимации и программирования, в частности очень большое количество анимации привело к некоторым тормозам на начальной страничке.

Всвязи с этим хотел бы у вас поинтересоваться:

1) Есть ли у кого-нибудь мысли, как можно оптимизировать нагрузку на процессор на главной странице сайта?
2) В частности меня интересует оптимизация следующего кода, который отвечает за движение влево-право на начальной странице:

Код AS1/AS2:
//Функции предевижения
function onMouseMove()
{
	//trace("onMouseMove");
	// 1280 / 2 + 300 = 940
	if (this._xmouse >= 1040 && this._xmouse <= 1280)
	{
		this._aX = Math.round((1040 - this._xmouse) / 40);
	}else if (_xmouse <= 240 && _xmouse >= 0)
	{
		this._aX = Math.round((240 - this._xmouse) / 40);
	}else
	{
		this._aX = 0;
	}
	//
	//trace("_aX " + this._aX);
}
//
function setMove_func()
{
	trace("setMove_func");
	this.removeMove_func();
	this.move_int = setInterval(move_func, 30, this);
}
function removeMove_func()
{
	clearInterval(this.move_int);
}
function move_func(varThis:MovieClip)
{
	//trace("move_func " + varThis + "| varThis.cont_mc " + varThis.cont_mc);
	varThis._vX += varThis._aX;
	varThis.cont_mc._x += varThis._vX;
	if (varThis.cont_mc._x > 0)
	{
		varThis.cont_mc._x = 0;
	}else if (varThis.cont_mc._x < varThis._clearWidth)
	{
		varThis.cont_mc._x = varThis._clearWidth;
	}
	//
	varThis._vX *= varThis._k;
		varThis._vX = (Math.round(varThis._vX) == 0)?0:varThis._vX;
}
В начале инициализации класса идёт вызов setMove(), как видно из кода, эта функция вызвается примерно 33 раза в секунду и просчитывает необходимое движение мувика.


Последний раз редактировалось koIIImarik; 13.01.2009 в 04:36.
Старый 13.01.2009, 10:39
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 2  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Ну, во-первых ты этот здоровенный клип двигаешь под маской или используешь scrollrect?
Есть еще мыслишки про битмапу
Потом (это конечно не оптимизация)я еле нашел пункты меню,не понятно где-что.Может их лучше сразу подписать,без onRollOverов?
__________________
Я просто добрый шутник.

Старый 13.01.2009, 12:20
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Вот хоть убей, не понимаю, зачем в именах классов делать постфикс _class, в функциях _func, передавать странные ссылки типа varThis, ну зачем, а?

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

Регистрация: Jun 2007
Адрес: Челябинск
Сообщений: 303
Отправить сообщение для dmitriev с помощью ICQ
Цитата:
Сообщение от __etc Посмотреть сообщение
Вот хоть убей, не понимаю, зачем в именах классов делать постфикс _class, в функциях _func, передавать странные ссылки типа varThis, ну зачем, а?
Мне думается что человеческий мозг и не на такое способен, вообще объективных причин так делать нет, скорее всего это проблема психоанализа, невроз.
__________________
O God! The Aftermath.

Старый 13.01.2009, 14:39
koIIImarik вне форума Посмотреть профиль Отправить личное сообщение для koIIImarik Посетить домашнюю страницу koIIImarik Найти все сообщения от koIIImarik
  № 5  
Ответить с цитированием
koIIImarik
 
Аватар для koIIImarik

Регистрация: Jul 2007
Адрес: Россия, Москва
Сообщений: 522
2 scarbo:
1) Здоровенный клип двигается под маской, там маска накладывается вообще на весь сайт, чтобы на более больших разрешениях он "не выходил" за пределы. Думаю использовать "scrollrect" не получится, т.к. с помощью него можно изменять только целочисленные значения, а хотелось бы добиться плавного движения.

2) cacheAsBitmap, по-моему, тут не канает, т.к. большой фон, позади, передвигается вместе со всем содержимым, а значит перерисовывается, значит весь cacheAsBitmap идёт насмарку. Если я где-то ошибаюсь, то поправьте меня.

2 _etc:
Просьба звучала в помощи по оптимизации работы сайта, и были поставлены конкретные вопросы, вы на них не ответили, значит вы флеймите. Вывод: забаньте себя сами.

Но даже не смотря на это, я так привык писать, возможно вам это покажется не правильным, но мне это не правильным не кажется, по крайней мере на данный момент. Если можете привести объективные причины, почему программисту так лучше не делать — выслушаю. Ещё лучше, если вы приведёте примеры или советы по оптимизации сайта.

Кстати, на счёт varThis, меня вообще давно парил вопрос с setInterval, и то, что внутри него нельзя ссылаться на объект, в теле которого он вызывался, через this. Поэтому переменная varThis у меня — это аналог this, чтобы в setInterval() можно было обращаться к экземпляру, который вызывал интервал. Если есть более красивый аналог, то буду благодарен за "просвящение".

2 dmitriev:
Люди, я с вас фигею, зачем вести себя, как базарные бабки с одним желанием обосрать кого-то. Я буду благодарен, если вы тут приведёте примеры, почему так писать нельзя и научите меня "красивому" коду. Ещё лучше, если вы ответите на поставленные вопросы в топике, это для меня сейчас более важно.


Последний раз редактировалось koIIImarik; 13.01.2009 в 14:51.
Старый 13.01.2009, 14:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 6  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Та не, не переживайте. Вы хотя бы this используете. А это большой плюс =)
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 13.01.2009, 14:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от koIIImarik Посмотреть сообщение
Если можете привести объективные причины, почему программисту так лучше не делать — выслушаю.
Эти постфиксы — избыточная информация, а вытекает она, скорее всего, из-за того, что используется плохой редактор кода без автокомплита.

Цитата:
Сообщение от koIIImarik Посмотреть сообщение
Если есть более красивый аналог, то буду благодарен за "просвящение".
http://livedocs.adobe.com/flash/9.0/...=00001216.html
Обратите внимание на варианты использования setInterval.

Старый 13.01.2009, 14:52
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 8  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
К вопросу об оптимизации,повторю еще раз
Цитата:
Ну, во-первых ты этот здоровенный клип двигаешь под маской или используешь scrollrect?
__________________
Я просто добрый шутник.

Старый 13.01.2009, 14:56
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 9  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
По существу. Вы не фансайт и, скорее всего люди в интернете ищут что-то и хотят найти и получить это быстро. Сайт Вашей %companyname% на моих 2 Mbit грузился порядка 10 секунд. Не будь другой мотивации, я, скорее всего, закрыл бы страничку на 5-6 секунде. Сравните с поисковыми системами. Звук тем более там бессмысслен.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 13.01.2009 в 15:00.
Старый 13.01.2009, 15:02
scarbo вне форума Посмотреть профиль Отправить личное сообщение для scarbo Найти все сообщения от scarbo
  № 10  
Ответить с цитированием
scarbo
 
Аватар для scarbo

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
Цитата:
scrollrect" не получится, т.к. с помощью него можно изменять только целочисленные значения
Да ну?Что то у меня карта метро и обл. двигается нормально
__________________
Я просто добрый шутник.

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

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

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


 


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


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