Тема: UpJump: Q&A :)
Показать сообщение отдельно
  #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
Ответить с цитированием