Фракталы на JavaScript, продолжение
После того, как фрактал в примере получился ну архи ме-е-е-е-е-дленным, решил немного исправить ситуацию. Все дело в том, что данную программку я написал как демо для объекта z.Canvas из z.Tools а z.Canvas - это на самом деле хелпер, который рисует графические примитивы при при помощи SVG и VML в зависимости от того, что доступно в текущем браезере. Идея была сделать именно холст, на котором можно было бы рисовать и в Internet Explorer и во всех остальных браузерах, ведь IE, как известно, до девятой версии не поддерживает SVG. Как следствие, каждый примитив на этом "холсте" будет занимать память, и если нарисовать фрактал из прямоугольников на холсте 300 на 300 пикселей, то компьютеру придется выделить память для девяносто тысяч маленьких объектов, само по себе это не сильно много, но всё равно, значительно тормозит весь процесс.
Переделать это дело на "настоящий" HTML5 canvas было делом нескольких минут, вот она, версия на Canvas, работает значительно быстрее и уже не жрет большого количества памяти.
Уже выложив, придумал, как ещё немного ускорить процесс рисования - сейчас, каждая точка рисуется в отдельном потоке через setTimeOut а это тоже страшно медленно - если делать без setTimeout процесс "подвиснет" пока не завершится рассчет фрактала, но можно сделать, чтобы рисовалась не точка но целая линия - это ускорит весь процесс без "зависания" процесса рисования.
Фракталы на Javascript
Пользуясь небольшим перерывом в эти новогодние каникулы сделал небольшую программку, рисующую жопу множество Мандельброта. Работает, к сожалению, медленнее чем версия на С++, зато картинка получается отменной.
Звёздные врата: Вселенная
Посмотрел второй сезон. Не знаю, что курят сценаристы, но результат мне нравится. Есть и космические корабли, бороздящие просторы большого театра, и злобные пришельцы, и не злобные пришельцы и отважные герои, и отважные злодеи. В общем тем, у кого нет аллергии на космическую оперу, вполне можно смотреть.
Нужно будет посмотреть первый сезон тоже.
HTML5 сегодня
Всё больше и больше разработчики начинают использовать HTML5. При этом большинство браузеров до сих пор не умеют нормально поддерживать HTML5, и под большинством я подразумеваю Internet Explorer версии ниже чем девятка, который стоит у большей части интернет пользователей. При этом, у IE есть одна нехорошая особенность - если он встречает в разметке незнакомый тег - он просто его игнорирует. Старые версии Firefox ведут себя более терпимо к незнакомым элементам - незнакомые теги используются в отображении контента если для них задан display:[something], поэтому, и если для незнакомых элементов задать стили отображения в CSS то они будут отображены как надо. IE незнакомые теги просто проигнорирует.
Чтобы исправить такое поведение браузера Реми Шарп (Remy Sharp) сделал маленький скрипт заменяющий теги типа article, section и прочие обычными div'ами. Конечно, теги типа video работать не будут, но зато теперь можно использовать контекстные HTML теги типа section, footer, header и прочие.
Насколько это оправдано я пока не прочувствовал, но, как факт, HTML5 теперь вполне можно использовать для кроссбраузерной вёрстки. Хотя, лично для меня, преимущества HTML5 тегов пока выглядят спорными, но многим нравится, особенно тем кто заказывает музыку, а значит, придётся с этим считаться.