Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.08.2010, 21:51
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Делать было...

Перед вами снимок 65536-и нодов .

1-й вечер написал скрипт, и заценил как он нагнул всю 5-ку...
2-й вечер вспомнил заветное слово "оптимизация" и удалось добиться результата в FF.

ff сгенерил на моей тачке за 3 минуты где-то. Я работал с ним, т.к. единственный из всех кто адекватно воспринял 1-ю версию скрипты(выводил промежуточные результаты). остальные вообще мгновенно нагибались на все 360 .

Как же я удивился, когда запустив на опере 10.6 2-ю версию скрипта всё сгенерилось за секунд 30...(vs 3мин у FF).

Давно присматриваюсь к новой версии оперы... ток до этого, так на посознательном уровне . а сейчас вот и результатом подкрепилось...
Ответить с цитированием
  #2 (permalink)  
Старый 30.08.2010, 22:23
Новичок
Отправить личное сообщение для inGray Посмотреть профиль Найти все сообщения от inGray
 
Регистрация: 03.08.2010
Сообщений: 230

А можно код глянуть одним глазком?
Ответить с цитированием
  #3 (permalink)  
Старый 30.08.2010, 23:36
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

CSS
Код:
body {margin: 0; padding: 0;}
input {outline: 0px;}

#square {width: 256px; height: 256px; margin: 400px;}

#square div {width: 1px; height: 1px; float: left; overflow: hidden;}
HTML
<body>
<div id="square"></div>

<script>

function brush() {
	
	var hor = 256;
	var ver = 256;

	var num = '';
	
	var square = document.getElementById('square');
	
		for (var i=0; i<ver; i++) {
			for (var q=0; q<hor; q++) {
				num +='<div style="background: rgb(0,'+i+','+q+');"></div>';
			}
		}
	
	square.innerHTML = num;

}


brush();

</script>
</body>
Ответить с цитированием
  #4 (permalink)  
Старый 30.08.2010, 23:37
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Сразу я наивно попытался через DOM добавлять...
Ответить с цитированием
  #5 (permalink)  
Старый 31.08.2010, 01:00
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от float
#square div
Попробуйте, ради эксперимента, убрать здесь ненужный каскад, увеличится ли скорость.
Ответить с цитированием
  #6 (permalink)  
Старый 31.08.2010, 01:09
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Цитата:
Попробуйте, ради эксперимента, убрать здесь ненужный каскад, увеличится ли скорость.
Мало значимо я думаю. В документе же тет больше других дивов.(враппер .... ели ток)
Ответить с цитированием
  #7 (permalink)  
Старый 31.08.2010, 01:14
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

Хотя да... каскад тут и не нужен.
Ответить с цитированием
  #8 (permalink)  
Старый 31.08.2010, 01:28
Аватар для float
Профессор
Отправить личное сообщение для float Посмотреть профиль Найти все сообщения от float
 
Регистрация: 01.07.2010
Сообщений: 387

3 секунды в пользу #square div... на Опере... FF чёт не хочет сегодня палитры формировать
Ответить с цитированием
  #9 (permalink)  
Старый 31.08.2010, 06:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,125

тоже самое таблицей + время ... Internet Explorer может не показать - как повезёт )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
function brush() {
    var start = new Date();
    for (var a = document.createElement("table"), b = 256; b--;)
    for (var d = a.insertRow(0), c = 256; c--;)
    d.insertCell(0).style.cssText = "background-color: rgb(" + b + ",0," + c + ");width: 1px; height: 1px;";
    a.cellSpacing = "0";
    a.cellPadding = "0";
    document.body.appendChild(a);
    var time =  document.createTextNode((new Date()).getTime() - start.getTime()+"ms");
    document.body.appendChild(time);
};
brush();
</script>
</body>
</html>

Последний раз редактировалось рони, 31.08.2010 в 06:26.
Ответить с цитированием
  #10 (permalink)  
Старый 31.08.2010, 11:51
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Помню раньше на Delphi игрался, писал программу, которая изображения div'ами отрисовывала.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как научится делать сайты mycoding Оффтопик 7 15.08.2010 22:46
На чем делать окна igrok Элементы интерфейса 3 12.07.2010 08:26
HTML5 Как сделать, чтобы можно было двигать картинку мышью? Бобр Общие вопросы Javascript 2 18.06.2010 21:22
Как изменить скрипт, что бы им его можно было использовать для нужной страницы Nick50_70 Общие вопросы Javascript 0 28.04.2009 23:30
Хорошо ли так делать? Octane Общие вопросы Javascript 2 22.09.2008 21:44