Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #171 (permalink)  
Старый 22.04.2011, 22:17
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Да.
Ответить с цитированием
  #172 (permalink)  
Старый 23.04.2011, 01:12
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Хорошо, а при нескольких setInterval() их итерации могут запускаться не последовательно? Например:
var int1 = setInterva(f1,1)
var int2 = setInterval(f2,1)
var int3 = setInterval(f3,1)

К примеру итерация из int3 обогнать int1 или int2?

Последний раз редактировалось UpJump, 23.04.2011 в 01:31.
Ответить с цитированием
  #173 (permalink)  
Старый 23.04.2011, 08:41
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Да.
Ответить с цитированием
  #174 (permalink)  
Старый 23.04.2011, 22:52
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

спс
Ответить с цитированием
  #175 (permalink)  
Старый 25.04.2011, 15:32
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

всем привет. при использовании setInterval() в разных браузерах минимальный интервал разный:
Firefox и Safari в среднем 11мс
Opera — 2 мс
Chrome — 4 мс
IE — 15 мс.

С помошью postMessage можно существенно сократить время для всех браузеров кроме IE. вот статья кому интересно. Вопрос в следующем. Есть ли какой-нибудь способ сократить время в IE?

UPD
Если есть ссылки на топик по данному сабжу буду признателен

Последний раз редактировалось UpJump, 25.04.2011 в 21:23.
Ответить с цитированием
  #176 (permalink)  
Старый 26.04.2011, 01:26
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Зачем?
__________________
29375, 35
Ответить с цитированием
  #177 (permalink)  
Старый 26.04.2011, 01:46
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Можно ли сделать объект-константу либо свойство-константу?
Ответить с цитированием
  #178 (permalink)  
Старый 26.04.2011, 07:15
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

FINoM, в ES5 есть Object.seal и Object.freeze, но они еще не везде реализованы. Константное "свойство" можно реализовать, используя методы, возвращающие копию значения.
Ответить с цитированием
  #179 (permalink)  
Старый 26.04.2011, 12:32
Аватар для UpJump
Профессор
Отправить личное сообщение для UpJump Посмотреть профиль Найти все сообщения от UpJump
 
Регистрация: 02.11.2010
Сообщений: 174

Aetae, для быстрой и одновременно плавной анимации.
Ответить с цитированием
  #180 (permalink)  
Старый 26.04.2011, 13:19
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

UpJump,
Мне кажется это будет зависеть больше не от этого времени, а от того, сколько стилей вы будете менять за 1 кадр, так как это очень медленная операция, так что оптимизировать нужно именно там, при возможности менять классы, а не значения свойств стилей. А скорости вполне хватить должно.
<!DOCTYPE html>
<meta charset = "utf-8" />
<script type = "text/javascript">


window.onload = function(){
	var stranger = document.getElementById("stranger"), A = 250, STEP = 1;
	
	var top, left, c = 0;
	(function(){
		c %= 360;
		
		top = A + A * Math.sin((c ++)/180 * Math.PI);
		left = A + A * Math.cos((c ++)/180 * Math.PI);
		
		stranger.style.top = top + "px";
		stranger.style.left = left + "px";
		
		window.setTimeout(arguments.callee, STEP);
	}())
}
</script>
<style type = "text/css">
	#stranger{
		position:absolute;
		border: red solid thick;
		background-color: green;
		width: 50px;
		height: 50px;
	}
</style>

<div id = "stranger"></div>

в ie9 летает быстрее чем в FF и даже быстрее чем в хроме, правда открыто много вкладок.

И еще, лично я считаю, что лучше пожертвовать плавностью в анимации перед загруженностью процессора, если вы раз в миллисекунду будете менять штук 10 стилей элемента, и если таких элементов будет несколько например (вдруг игра какая нибудь), то тормозов не избежать, лучше уж делать шаг перемещения побольше, чем супер короткие кадры. К тому же если анимация быстрая, то не заметно все равно.
Это конечно относится только к длительным постоянным анимациям, а не всплывашкам/менюшкам/выезжашкам
__________________
readOnly
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск