Firefox

индекс
178,09

Визуализация reflow

Reflow — это процесс вычисления размеров составных блоков Web-страницы.

Сатоши визуализировал данный процесс, происходящий в недрах движка Gecko. Одним словом, он сделал «красиво».



Технические детали


Сатоши скомпилировал Mozilla таким образом, чтобы последний все свои действия записывал в файл в определённом формате, например таком:

{"event": "MoveFrame", "frame": {"address": "0x04FE41A8", "type":
"TextFrame", "content": {"address": "0x05014150", "type": "other"},
"rect": {"x": 0, "y": 0, "w": 0, "h": 0}}},

{"event": "MoveFrame", "frame": {"address": "0x04FE41A8", "type":
"TextFrame", "content": {"address": "0x05014150", "type": "other"},
"rect": {"x": 0, "y": 0, "w": 0, "h": 0}}},


Далее, он сделал видео-анимацию всего этого действа.

Что получилось?


Вычисления для wikipedia.org:



Вычисления для mozilla.org:



Вычисления для японской локализации google.com



Визуализация играет не последнюю роль в процессе понимания и осознавания механизмов работы той или иной системы.
+86
24 августа 2008, 05:31
23

комментарии (41)

0
iliar #
Поправьте ошибку. Вычисление для вики вы вставили дважды.
+1
dinamyte #
Спасибо, поправил.
–3
4ekuct25 #
видео недоступны:(
+5
Alexkeny #
всё замечательно играется, и как заметил автор поста — «красиво»
0
4ekuct25 #
а мне пишет
This video is currently not available.
Please try again later
>_<
+1
micle #
F5, вестимо.
+3
CurlyBrace #
Здорово! Напомнило ролик, где художник рисует картины в ускореном проигрывании ))
+9
dinamyte #
Специально для тебя, нашёл скрипт под названием Timelapse CSS ;-)

«Это» с течением времени применяет к документу набор CSS-правил:

www.vimeo.com/955135
+3
CurlyBrace #
Отлично, прям мой спресованый рабочий день :)
+2
agzamovr #
А можно достать эту сборку мозиллы? Интересно было-бы использовать как онлайновый сервис: дал ссылку и он сделал ролик.
НЛО прилетело и опубликовало эту надпись здесь
+3
agzamovr #
Ну например для голливудских фильмов. У них все время траблы с тем как эффектно показать работу на компьютере когда очередной гений взламывает сайт пентагона. А тут если еще музыку прикрутить вообще чётко будет :)
0
Psixozzz #
А можно побольше ссылок на более детальный материал? Хочу попробовать самостоятельно сделать такую визуализацию для своих проектов.
+2
dinamyte #
Я бы посоветовал посмотреть на отладку процесса frame reflow (table reflow для процессинга таблиц).
0
homm #
Почему-то для 2-х страниц reflow делается 2 раза. Сразу видно, в какую сторону можно увеличивать произврдительность.
0
tenshi #
это не самое узкое место…
0
homm #
Мне кажется, что при ресайзе окна — самое.
0
saymanski #
Вы часто, как пользователь, меняете размеры окна?
0
Ankheg #
Говорят, дело в полосе прокрутке на первых двух сайтах. И еще говорят, что старая Опера все сайты показывала с вертикальной прокруткой возможно именно для того, чтобы не делать перерасчет.
0
homm #
Понятно, спасибо. Я не знаю точно насчет ранних версий оперы, но мне кажется что вы её могли спутать с позними версиями ИЕ :)
+4
alexbig #
супер! никогда бы не подумал, что браузер именно так рисует.
0
Odes #
А почему 1й и 2й по 2 раза проход?
+1
dinamyte #
Я подозреваю, что происходит процесс аранжировки блоков в соответствии с float-параметрами, position'ами. Первый проход выполняется для получения линейного расположения блоков, а потом уже производится их расстановка на странице.
0
homm #
0
rapida #
а можно отзеркалить видео еще куда-нибудь, у меня не грузится?
+1
dinamyte #
+1
rapida #
спасибо :)
+1
pixx #
В бытность медленного интернета я такое наблюдал и без специально скомпилированного браузера — правда, всё было не так красиво и радужно :)
–20
caezar #
а ведь на хабре это уже было
НЛО прилетело и опубликовало эту надпись здесь
+4
Zord #
А я вот частенько смотрю на содержимое страницы, которое не полностью прогрузилось и могу в любой момент остановить загрузку, если там что-то, что мне не нужно. Что, кстати, экномит мне время и деньги. Отсутствие данной возможности в IE удручает, особенно когда ждешь визуализации на медленном канале и пока вся страница не загрузится, ничего не увидишь
НЛО прилетело и опубликовало эту надпись здесь
+2
homm #
В опере есть соответствующая настройка. Минусы очевидны. Пока самый захудалый счетчик из урюпинска через ихний канал не подгрузится, страница не будет считаться загруженной.
0
LimeOrange #
Что-то я не пойму: зачем после создания эелментов (отрисовка с нуля) делать ещё одну «пробежку» по ним? На видео видно как пересобирается-обрабатывается каждая структура по два раза. Зачем? CSS?
0
dinamyte #
Взгляните на комментарий выше, может он несколько прояснит ситуацию.
0
homm #
+1
gooffy #
реально очень красивая штука. на мой взгляд, она бы подошла какому-нибудь флэш-сайту на процесс загрузки, вместо скучного прогресс-бара
0
divbyzero #
Интересно бы посмотреть видео как генерируется вот такая верстка:


Наверное, сразу бы захотелось отбить руки верстальщику.

0
dinamyte #
Сначала посмотреть, как генерируется вёрстка, а затем оторвать руки? :-)
–4
Imenem #
Обычная табличная верстка, таких и в рунете куча. Я так понимаю что в кадр специально попал кусок ссылки с «microsoft.com», чтобы свалить вину на мелкомягких?
0
iosis #
Замечательно! А где эти алгоритмы можно поковырять?! У меня задача применить их к флэш в кратчайшие сроки, собственные писать, видимо, займет очень очень очень очень много времени (( Алгоритмы хотябы на уровне блок схем

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.