Многие люди, видя в широкой продаже электронные фоторамки, не понимают, к чему они вообще нужны. Часто это делается из-за простого незнания того, какие функции могут исполнять эти устройства. Одна моя знакомая вообще была уверена, что рамки показывают одну загруженную в них фотографию, и всё. Сейчас на примере фоторамки от компании Digma мы посмотрим, на что такие устройства способны. В дальнейшем будет обзор подобных штук от Philips, и будет занятно сравнить, что предлагают нам разные компании. Таким образом, приступим.
| Параметр | Значимость |
| Производитель | Digma |
| Наименование | PF-800 |
| Размеры | 216 x 182 x 28,3 мм |
| Масса | 603,4 г |
| Память | 1 Гбайт флэш-памяти |
| Дисплей | TFT 8 " (4:3), 800x600 точек |
| Интерфейс | USB 2.0 |
| Аудиоформаты | MP3, WMA |
| Видеоформаты | Официально — MPEG-1, MPEG-4, M-JPEG |
| Графические форматы | JPEG |
| FM-радио | Нет |
| Аккумулятор | Нет |
| Питание | От сети (блок питания в комплекте) |
| Поддерживаемые карты памяти | CF, MS, MMC, SD(HC) |
Устройство сравнительно небольшого веса — 600 гр, габариты — 216*182*28.3 мм. Вся рамка пластиковая, охватывая прозрачную лицевую панель. В комплекте имеется подставка, которая крепится к задней стенке. Ее высота регулируется, разрешается поднять лучший наклон.

Большую часть лицевой панели занимает дисплей, в выключенном состоянии сливающийся с корпусом за счет глянцевости последнего. Ниже находится декоративная хромированная линия, под которой — 8 сенсорных областей, а ещё инфракрасный ресивер, принимающий сигналы с пульта ДУ.

Пульт имеется в комплекте, и позволяет делать значительно более действий, чем при помощи одной исключительно лицевой панели самой рамки, да и вообще с ним управляться гораздо удобнее. Он сильно маленький, тонкий, но при этом достаточно комфортный для использования. Кнопки нажимаются со щелчком, довольно упругие. При управлении следует больше-менее точно целиться в инфракрасный приемник на самой рамке, в ином случае нажатие не обработается.

Кроме того в комплекте имеется блок питания для сети переменного тока. К сожалению, эта модель не снабжена встроенным аккумулятором, потому она довольно стационарна, и может быть использована только там, где кушать розетка.

Рамка подключается к компьютеру, для сего на правом торце имеется соответствующее гнездо для mini-USB кабеля. Неясно по каким причинам, в комплекте его не обнаружилось. Наверное, производитель посчитал, что в основном обладатель рамки будет пользоваться картами памяти, и посчитал он верно. Но ведь рамка имеет и свою память — 1 Гбайт, заполнить которую разрешается только соединившись с компьютером. Но расстраиваться не стоит — такого типа шнур продается во множестве магазинов и стоит у самых жадных продавцов рублей 100, а у нормальных — все 20.

Рамка довольно устойчиво стоит на столе. Ежели на нее чуток нажать сверху, фиксатор подставки смещается, у него слишком свободный ход, но это уже мелкие придирки. Подставка может пребывать повернута так, чтобы устройство имело портретную ориентацию. Но применять ее в таком режиме не позволит как самое малое надобность вручную менять ориентацию фотографий при каждом просмотре, как максимум — будет некрасиво повернута надпись Digma и декоративная линия окажется не на своем совместно. Таким образом, раз уж в вертикальном положении рамка вряд ли будет употребляться, было бы неплохо нижнюю доля снабдить резиновыми подставочками, дабы какой-нибудь проказник типа домашнего животного не скинул невзначай рамку на пол.
![]() |
![]() |
Экран диагональю 8", разрешения 800*600 точек, отображает до 262000 цветов. Он ослепительный, контрастный, отображение очень приятное. В настройках не возбраняется изменить не только яркость, но и контраст, и насыщенность цвета. Эти настройки применяются не только к фотографиям, а вообще ко всему, что рамка отображает — меню, пиктограммам и т.д. Углы обзора весьма хороши, за исключением нижнего, но это и не так существенно — ведь рамка вряд ли будет стоять на высоте.
Картовод состоит из двух слотов. В единственный вставляются карты SD/SDHC, micro-SD/micro-SDHC (сквозь переходник), MMC, MS. В другой — карты CF. На противоположном торце имеется ещё гнездо USB, куда можно вставлять любые носители данных. Рамка распознала совершенно все карточки и USB-флэшки, которые я ей «скармливал», без каких-то проблем. Единственно, не распозналась одна USB- флэшка, но после этого ее форматирования все встало на свои места. Насторожило только то, что USB -флэшки уже сквозь пару минут очень сильно нагреваются, будучи вставленными в гнездо рамки.

Скорости при копировании информации (картинок, музыки, видеороликов) на карты памяти таковы: на CF — 1,4-1,6 Мбайт/с; на SD — 1,8-1,2 Мбайт/с; на micro-SDHC — 1,4 Мбайт/с; в память самой рамки — 1,8 Мбайт/с. Показатели достаточно-таки низкие, но это не сверх меры критично, ибо вряд ли вы будете любой день заливать новые фотографии на карты памяти или в память самой рамки.
Поддерживается исключительно единственный формат, самый популярный — JPEG. Слабовато, но если учесть, что все фотоаппараты умеют снимать именно в него, сего достаточно. Было бы совершенно шикарно, если бы поддерживались RAW- форматы камер различных производителей, но сего нет.

Далее поговорим о том, как устроен сам ход просмотра. Итак, когда рамка включилась, нам предлагается выбрать источник фотографий — какую-нибудь из карт памяти, либо встроенную, либо войти в настройки. Выбрав тип памяти, передвигаемся дальше — предлагается предпочесть тип контента, который мы хотим смотреть: фотографии, музыку или видео. Последним пунктом идет браузер файлов. Ежели выбрать что-нибудь из первых трех пунктов, то все файлы выбранного типа сваливаются в кучу и предстают перед нами либо в виде превьюшек (в случае с снимок), либо в виде списка файлов (в случае с видео или музыкой). Браузер же предоставляет нам проход ко всем файлам из памяти.

Таким образом, сейчас нас интересует просмотр фотографий. Выбрав в меню порядок «Фото», мы видим мозаику из 15-ти маленьких изображений, которые мало-помалу подгружаются на экран. Это все изображения, которые устройство обнаружило на выбранном носителе. Кнопками ввысь/вниз/налево/вправо не возбраняется выбрать интересующее нас фото и нажать ОК. Оно разворачивается на полный экран. Нажав кнопку ОК, мы запускаем слайд-шоу, нажав ее еще раз — ставим его на паузу, об этом говорит небольшая прозрачная пиктограмма на экране.
Что мы можем действовать с фотографией? Во-первых, предпочесть соотношение сторон: 16:9 или 4:3. Сама рамка имеет позволение 800*600, т.е. соотношение ее сторон 4:3, и по умолчанию она растягивает иные форматы наверх и вниз, не соблюдая при этом пропорции. В инструкции сказано, что ежели просматривать фотографию с соотношением сторон 16:9 в режиме 4:3, то будут обрезаться края и очерчивание будет занимать целый экран, не искажаясь. На самом же деле все делается как я сказал выше — картинка попросту растягивается. Если же выбрать для широкоформатной картинки соответствующее соотношение, никаких проблем с искажением не возникает, все работает как положено — наверху и внизу отображаются черные полосы.
Вероятность менять соотношение на нужное — это хорошо, но есть пару наблюдений и замечаний. Первое — недурно было бы, ежели бы рамка сама подстраивалась под имеющиеся фотографии, а не автоматически растягивала фотографии. Второе — настройки не запоминаются! То кушать, вы выбрали соотношение 16:9, добились-таки нормальной картинки на экране, но при следующем открытии любого изображения ещё раз включается не широкоформатный порядок. Сей факт я считаю очень важным, ибо никому не захочется каждый раз после включения ковыряться в настройках, более того несмотря на то, что на пульте сразу кушать нужная кнопка. Не помешало бы выпустить прошивку, исправляющую сей недостаток.
Кнопка с изображением лупы на пульте позволяет зуммировать картинку, увеличивая ее с каждым нажатием в два фраза, вплоть до x16. К сожалению, понять, в какой миг было достигнуто разрешение оригинала, не получится — рост происходит не относительно разрешения фотографии, а относительно разрешения самого экрана рамки. Это, с близкий стороны, правильно, с другой — создает некоторые неудобства.
Без сомнения, раз уж есть вероятность слушать музыку с помощью этого устройства, то логично, что на ее фоне можно просматривать и фотографии. Для того, чтобы резво, не покидая режим просмотра, подключить музыку, необходимо нажать на отведенную для этой цели кнопку на пульте. Тут же, с правой стороны и слева от нее, находятся кнопки регулировки громкости. Отмечу, что их настроение очень нелогично: слева — кнопка увеличения громкости, с правой стороны — уменьшения. К сожалению, править воспроизведением никак нельзя — включается первая найденная в памяти композиция.
В режиме просмотра можно начать на экран полоску с кнопками, которая дублирует кнопки на пульте, но временами она может быть удобнее.
На коробке, да и на официальном сайте компании указано о поддержке форматов MPEG-1, MPEG-4, M-JPEG. При рассмотрении плеера Digma MP851 мы уже сталкивались с замалчиванием реальных возможностей, так произошло и в сей раз: без каких-то тормозов устройство проигрывает и DivX, и XviD, и H.264. Причем позволение роликов, на которых тестировалась рамка, достигало 720 пикселей по большей стороне, а битрейт — до 4000 кбит/с, и при этом никаких подтормаживаний и прочих неприятностей не возникло. Это, бесспорно, здоровый плюс. Но сколь это превосходство не возбраняется реально применять? Ложка дегтя закралась в том, что изображение постоянно растягивается в высоту, какое бы разрешение ролик не имел. А с учетом того, что подавляющее большинство фильмов нынче с широким соотношением сторон, реальное использование рамки как видеопроигрывателя становится под вопросом. С обычными роликами и фильмами, с соотношением 4:3 — все, без сомнения, стандартно.

Еще одно препятствие на пути использования рамки как видеоплеера — невозможность контроля над воспроизведением. Нет полосы прогресса, так что вы не знаете, сколь времени осталось. Ролик разрешено определить на паузу, но выйдя из режима просмотра и попозже в него вернувшись, к последнему моменту фильма возвратиться нельзя. Частично восполняет сей недостаток возможность перемотки, она пригодится и просто во время просмотра. Нажатием на соответствующую кнопку на пульте разрешается проматывать как вперед, так и вспять. С каждым новым нажатием прыть увеличивается и ускорение может быть в два, три или четыре раза.

Браузер видео довольно удобен. Справа от списка файлов отображается окно, в котором проигрывается выделенный ролик. Ниже этого окошка имеется некоторая инфа о ролике — название файла (непонятно, зачем — оно ведь есть в списке), его размер в Мбайтах, а кроме того тип. Если открывать видео не из режима «Видео», а из общего браузера файлов, то можно выяснить и о кодеке изображения и звука, и длительность, и дату изменения (по сути, дату записи, ежели ролик не подвергался редактированию).

Итог таков: просмотрщик видео удался с точки зрения поддержки разных форматов, что значимо, но не удался по прочим параметрам — нереально изменять соотношение сторон, нет полосы прогресса. Но зато разрешается не трепетать, что формат, в который записывает видео ваш фотоаппарат, не прочитается.
Рамка способна повторять популярные форматы — MP3 и WMA. К сожалению (хоть и небольшому) никаких сюрпризов в плане поддержки не заявленных типов файлов в данном случае нет.

Проход к музыке разрешается заработать, опять же, выбрав сначала тип памяти, а затем порядок «Музыка», либо из общего браузера файлов. В первом случае отображаются вообще все музыкальные файлы, найденные в памяти, единым списком. Во втором не возбраняется разгуливать по директориям. При этом справа кроме того имеется область, где показывается информация о файле: дата изменения, размер файла в Мбайтах, формат, наименование композиции, имя исполнителя, наименование альбома, жанр. Никакой библиотеки, где можно осуществлять фильтрацию по тому или ному полю, нет, кушать только этот браузер файлов.
После выбора нужной композиции вместо информации появляется окошечко с полосой прогресса, длительностью, именем исполнителя, названием альбома, годом издания.

На этом возможности данной функции исчерпаны. Хотелось бы привосокупить некоторые наблюдения и пожелания. К примеру, неплохо было бы обладать вероятность смотреть фотографии не под одну и ту же, первую в списке, мелодию, а под ту, которую выберет сам пользователь.

В главном меню кроме уже описанных функций присутствует еще и календарь. Он отображает текущий месяц, дату и год, наверху имеются часы с довольно крупными цифрами, хотя разрешено было сделать их еще крупнее, позаботясь о близоруких. Рядом с календарем отображается окошечко, в котором показывается слайдшоу из фотографий, обнаруженных в памяти, внешней или внутренней. Календарь позволительно подключить вручную, но если же вы в течение 5-ти минут с устройством не совершили никаких действий, он включается автоматически.
В настройках позволительно найти немного важных и интересных возможностей. Первая — автовключение/автовыключение. Разрешено задать время, а также режим — однократный, либо ежедневный.

Вторая интересная функция — будильник. У него кроме того настраивается порядок работы — однократный либо ежедневный. Мелодию позволительно выбрать только из двух. Это, конечно, минус, но те звуки, что изначально вшиты, как говорится, «мертвого разбудят».
Значит, что же мы имеем в итоге, что может это устройство? Показывать фотографии, в тишине или под музыку, с различными эффектами или без них. Смочь особо проигрывать музыку популярных форматов, а также видео, сжатое множеством различных кодеков, и снятое, абсолютно, различными фотокамерами. Но реализация всего сего богатства, к сожалению, немного хромает. По большому счету, устройство со своими обязанностями справляется, но стоило бы еще чуть-чуть-чуть-чуть постараться, чтобы сделать его более удобным и дружелюбным. Я бы посоветовал разработчикам упустить новую прошивку с учетом названных неудобств, и тогда можно будет смело советовал по крайней мере как раз эту модель к покупке.
Аппаратный маршрутизатор – это быстро, надежно и безопасно. Однако мощные и полнофункциональные решения от крупных производителей стоят недешево – настолько, что даже средних размеров компания не всегда может позволить себе такое решение. Неужели не существует устройства, которое, обладая хорошими возможностями и быстродействием, позволило бы экономному покупателю обойтись без перехода на голодный паек? Компания Halon, предоставившая нам на тестирование роутер SX-101X, уверена, что выход есть…
Предположим, вы – сисадмин. В один прекрасный день вас вызывает на ковер начальство и высочайше повелевает: снабдить доступом в Интернет новый филиал компании. Первая мысль, которая в подобной ситуации приходит в голову многим администраторам – это «компьютер, две сетевые карты, операционка из категории *NIX – и вороти чего душе угодно». Спору нет, решение удобное. Простейшая шлюзовая машина элементарно настраивается даже малоопытным сисадмином, особенно с использованием удобных утилит, которые сейчас есть почти в любом дистрибутиве Linux. Однако, как только начинает требоваться нечто более сложное (например, связь между офисами по защищенному туннелю, настройка сложной маршрутизации или обеспечение качества сервиса (QoS) для различных типов трафика), требования к квалификации резко возрастают.
Кроме того, существуют еще минимум два параметра, которые необходимо учитывать – это быстродействие и безопасность. Быстродействие подразумевает достаточную мощность шлюзовой машины для выполнения всех возложенных на нее задач; компьютер, собранный «по сусекам» из старинного хлама может и не потянуть все возложенные на него обязанности. Безопасность – значит, прежде всего, способность сопротивляться взлому. При всей своей гибкости и почти бесконечных возможностях, шлюз на базе компьютера под управлением *NIX представляет собой объект, привлекательный для взломщиков. Создание грамотно организованной, устойчивой к взлому системы представляет собой искусство, которым владеет далеко не всякий юниксовый администратор.

- Не нравится *NIX? Так пойдите и купите аппаратный маршрутизатор! - воскликнут многие. Что ж, идея хороша. Аппаратный роутер быстр и способен выполнять множество различных задач; возможности некоторых моделей наращиваются с помощью системы модулей и программных апгрейдов. Взлому он подвержен в значительно меньшей степени, нежели программный шлюз. Но цена! Далеко не всякая компания может позволить себе полнофункциональное решение на базе маршрутизаторов одного из ведущих производителей. Попытка сэкономить, купив роутер «домашнего» класса, может легко привести к разочарованию: большинство таких устройств не рассчитано на нагрузку, которую способна дать сеть даже из пары десятков машин. К тому же, набор функций в таких маршрутизаторах обычно ориентирован на работу именно домашних пользователей. Им не нужны ни виртуальные сети (VLAN), ни поддержка технологии FailOver (переключение на альтернативную линию связи при перебоях в основной – прим.), ни балансинг для распределения нагрузки между несколькими серверами.
Неужели не существует золотой середины? Маленькой, недорогой, простой в настройке – но обладающей хорошим набором функций и способной вынести серьезные рабочие нагрузки? До недавнего времени я склонялся к отрицательному ответу на этот вопрос. Но теперь могу сказать с уверенностью: повод для оптимизма есть, и дает его небольшая синяя коробочка под названием Halon SX-101X. Это – маршрутизатор, который выпускает под торговой маркой Halon шведская компания ScalSoft AB, известная своими решениями в области сетевой безопасности.
Поставляется маршрутизатор в аккуратной серебристой коробке с черным логотипом HALON. Внутри обнаружился сам аппарат, блок питания к нему, нуль-модемный шнур и трехметровый патч-корд категории 5e. Из бумажных материалов в упаковке нашелся лишь рекламный проспект, в котором перечислялись особенности трех аппаратов линейки SX, и листочек, озаглавленный «QuickStart” («Быстрый Старт»), на котором был описан способ первичной настройки роутера. Скорее всего, в комплекте официальной поставки будет и набор бумажных руководств по настройке; пока же их можно скачать с сайта производителя.

Маршрутизатор представляет собой небольшую металлическую коробочку размером 222х155х36мм, окрашенную в приятный синий цвет.

На передней грани расположены светодиодные индикаторы. Их там 10: Power (питание), Active (означающий готовность системы к работе), а также 4 группы по два диода (Link и Active), показывающие состояние четырех сетевых портов устройства – WAN, LAN, DMZ1 и DMZ2.

На задней грани обнаруживаются собственно сетевые порты, разъем для подключения блока питания и разъем USB-типа, обозначенный как Option. По словам представителей компании, в ближайшем будущем этот разъем будет служить для подключения 3G-модема; соответствующая модификация прошивки должна появиться в августе-сентябре.

Более никаких деталей на корпусе SX-101X нет – кроме, разве что, четырех пухлых резиновых ножек. Да-да, именно так – никаких вентиляционных отверстий. Производитель с гордостью подчеркивает, что устройство обходится без вентиляторов. На первый взгляд, это вызывает беспокойство, но за неделю непрерывной работы, включая и весьма жаркие часы в середине дня при неработающем кондиционере, синий корпус аппарата оставался еле теплым.

Тем не менее, я бы, лично, не стал помещать Halon SX-101X в стойку, плотно забитую серверами и коммутаторами. Указанный в технической документации рабочий температурный режим – от 0 до 45°С, но береженого, как известно, бог бережет.
Компания ScalSoft AB имеет большой опыт создания систем безопасности на базе UNIX. В качестве основы для специализированной операционной системы H/OS Extreme была взята знаменитая BSD версии 4.4. О стабильности этой ОС ходят легенды; ее работа с сетями считается едва ли не эталоном надежности и совместимости. Создатели H/OS утверждают, что их система вобрала в себя все лучшее от своей именитой прародительницы. Полностью оценить истинность этого утверждения сложно, но за все время тестирования роутер ни разу не повис и не выдал ни одной ошибки. Веб-интерфейс корректно отображался во всех браузерах, демонстрируя четкую и быструю работу.
«Железо», на котором в SX-101X работает H/OS Extreme, впечатляет: процессор 1GHz, 256Mb RAM. Это уровень, которым обладают устройства, предназначенные для сетей «среднего» размера, что вполне соответствует позиционированию продукта. Аппаратный апгрейд, к сожалению, невозможен – но остается возможность программной кастомизации; прошивка роутера имеет модульную структуру и, в зависимости от приобретаемой лицензии, может быть укомплектована именно теми функциями, которые нужны клиенту.
В упомянутом выше листочке “QuickStart” упомянуты два способа добраться до настроек SX-101X: через SSH и с помощью веб-интерфейса, доступного по адресу 172.16.0.1. Однако, будет нелишним убедиться, что в вашем распоряжении есть компьютер с COM-портом. Он может понадобиться, если что-то пойдет не так; у нас, например, аппарат отказывался выдавать адрес по DHCP, и пришлось с помощью СOM-COM шнура и программы-терминала выполнить полный reset системы. Вполне вероятно, что доступ к роутеру через COM-терминал понадобится еще не раз, когда, в процессе экспериментов с правилами файрволла, вы отключите самого себя. В случае установки SX-101X на серьезную рабочую площадку эта возможность становится жизненно необходимой.

H/OS Extreme предоставляет пользователю два способа настройки: через веб-интерфейс и с помощью аскетичной текстовой консоли, очень похожей на консоли управляемых свитчей и маршрутизаторов других компаний. Пользоваться обоими способами удобно – за одной единственной оговоркой: необходимо вооружиться руководством пользователя. На сайте производителя такие инструкции можно скачать, они подробны и снабжены хорошими иллюстрациями. С их помощью легко настроить практически все, что потребуется.
Этот способ настройки доступен через SSH или с помощью COM-терминала. Структура меню одновременно представляет собой набор команд, которые могут исполняться в виде простейшего скрипта, будучи занесенными, например, в список задач, запускаемых по таймеру. Не самый наглядный способ конфигурирования, но в некоторых условиях может стать де-факто единственным.

Если вы – не юниксоид старой закалки, и зрелище графических инструментов настройки не вызывает у вас аллергию, то веб-интерфейс наверняка станет для вас основным способом общения с SX-101X.
После авторизации перед вами откроется рабочее окно веб-консоли, состоящее из двух основных областей: слева – древовидная структура меню, справа - область, в которой отображаются параметры и настройки подпунктов этого меню. Внешний вид интерфейса чем-то напоминает популярный программный шлюз Kerio Winroute Firewall. Расположение элементов хорошо продумано, и все элементы настройки, упоминающиеся в пользовательском руководстве, находятся практически мгновенно. Некоторые закладки внутри разделов могут указывать на другие разделы, образуя сеть перекрестных ссылок. Такой способ организации удобен и логичен; найти нужный элемент управления по смыслу становится очень легко.
В этом разделе доступен мониторинг основных параметров системы – утилизация памяти, процессорной мощности, состояние сетевых интерфейсов.

Закладка Health демонстрирует состояние запущенных сервисов.

Management: Здесь сосредоточены закладки, касающиеся информации о маршрутизаторе, а также менеджер лицензий, апдейтер H/OS и система управления сохраненными конфигурациями. Кроме того, здесь же, в закладке Tools, находится маленький парк полезных сетевых утилит, таких как Ping, Traceroute, DNS Lookup и т.д.

Schedule: Этот раздел позволяет выполнять различные команды оболочки H/OS в заданное время. По умолчанию в списке значатся два регулярно исполняемых задания: проверка новых лицензий и проверка нового программного обеспечения.

Reporting: Здесь настраиваются оповещения, которые отсылаются на удаленный SysLog-сервер или на указанный e-mail. Событий, на которые возможно настроить оповещения, может быть множество: от превышения предела нагрузки на процессор или память роутера до срабатывания политик, настроенных в разделе правил брандмауэра. Надо заметить, что сам аппарат не сохраняет логи, и поэтому, если вы хотите знать подробности о том, что творится с вашим SX-101X, стоит уделить этому разделу пристальное внимание.

Network: По понятным причинам, один из важнейших разделов. Здесь конфигурируются параметры, касающиеся работы физических сетевых и виртуальных сетевых интерфейсов системы.
: Здесь можно настроить основные IP-адреса интерфейсов Halon SX-101X, шлюз по умолчанию, DNS, а также MAC-адреса и MTU (максимальный размер пакета) для каждого из интерфейсов.

Позволяет назначать каждому из интерфейсов несколько IP-адресов – алиасов, делая их, таким образом, принадлежащими к разным сетям (адресным пространствам) одновременно. Для каждой из таких сетей могут существовать свои правила трансляции адресов, фильтрации трафика и т.д.

: Здесь настраивается принадлежность интерфейсов маршрутизатора к различным виртуальным сетям (VLAN). Виртуальные сети применяются для логического разделения групп компьютеров по соображениям безопасности, или же при использовании множества IP-сетей, когда физических интерфейсов просто не хватает.

: В этом подразделе можно добавлять свои собственные пути в таблицу маршрутизации устройства.

NAT – это Network Address Translation, система трансляции адресов. Halon SX-101X предлагает два варианта NAT. Первый – динамический; с помощью него множество устройств могут получить доступ к внешней сети, используя IP-адрес внешнего сетевого интерфейса роутера.
Второй – типа «один-к-одному», он же – статический. Обычно используется для того, чтобы сделать видимым снаружи сервер, расположенный внутри сети.

Здесь настраивается одна из интереснейших функций Halon SX-101X. Несколько роутеров Halon могут быть объединены в единую FailOver-систему; в случае отказа одного из аппаратов, его задачи автоматически возьмет на себя сосед.

В сетях с высокой нагрузкой или требующих повышенной надежности доступа в Интернет, эта опция способна стать важным элементом построения отказоустойчивой сетевой инфраструктуры.

: Если нет необходимости использовать Halon SX-101X в качестве шлюза (например, если он сам находится за шлюзом), его возможно превратить в «прозрачный» мост (bridge). В этом случае два его интерфейса логически соединяются воедино, как если бы они были соединены невидимым патч-кордом. Все правила файрволла при этом остаются в силе.

Applications: Под «приложениями» в H/OS подразумевается ряд служб, одна часть из которых относится к работе самого роутер, а другая – к обслуживанию запросов сетевых клиентов.
Сюда же ведет закладка Health в разделе Overview. Здесь собраны в единый список все сервисы операционной системы H/OS. Отсюда возможны запуск и остановка каждого из них. Нажатие кнопки Settingsнапротив сервиса приводит к переходу в соответствующий подраздел меню, где его можно сконфигурировать. В режиме Health видно, сколько памяти и процессорной мощности отъедает каждая из служб.

Здесь настраиваются параметры DHCP-сервера H/OS, отвечающего за автоматическую выдачу клиентам IP-адресов. При желании прописывается DHCP-relay – адрес другого DHCP-сервера, на который перенаправляются запросы.

Большинство системных администраторов сталкивается в своей практике с необходимостью блокирования “нежелательных” сайтов – из соображений безопасности, экономии трафика или чтобы уберечь сотрудников от соблазнов Сети. В этом подразделе сисадмину предоставляются богатые возможности.

Блокировка может производиться как по списку URL, указанных в явном виде, так и по ключевым словам. Ключевые слова могут быть перечислены в строке Data окна конфигурации WAC, либо загружены в роутер в виде файла через FTP.
: Эта опция позволяет включить веб-авторизацию пользователей. На основании данных авторизации, может быть организовано разграничение доступа к ресурсам сети. Кроме того, такая авторизация может использоваться для повышения общего уровня сетевой безопасности.

: В некоторых случаях не получается использовать статический IP даже на внешнем интерфейсе маршрутизатора. В этом случае на помощь приходит служба динамического DNS, обеспечивающая привязку доменного имени к ТЕКУЩЕМУ IP-адресу системы. Привязка имени к адресу осуществляется после авторизации маршрутизатора на сервере компании-поставщика услуги.

В этом подразделе можно устанавливать жесткое соответствие между доменными именами и IP-адресами. Соответствие сохраняется до тех пор, пока прописанные адреса не будут вручную удалены из списка.

Firewalling: Название говорит само за себя: здесь сосредоточены инструменты управления брандмауэром – одной из ключевых функций Halon SX-101X. Ее важность косвенно подчеркивается тем фактом, что представители компании SkalSoft AB в приватных интервью позиционировали свой продукт именно как “firewall”.
: Здесь создаются группы, именуемые ”Визуальными фильтрами”. Эти группы могут объединять наборы политик брандмауэра, используемые для различных целей. Типичный пример – разные наборы политик для авторизованных и неавторизованных пользователей сети Интернет.

: В этом подразделе (а также в подразделе ,) находится основной инструментарий для работы с брандмауэром. Настройка правил (или «политик») файрволла возможна в двух режимах: базовом (Basic) продвинутом (Advanced). В базовом режиме администратор по пунктам описывает, что он хочет. Например: «Я хочу разрешить трафик из сегмента сети, подсоединенного к порту DMZ в сегмент, подсоединенный к порту LAN при использовании службы DNS.” (курсивом выделены опции, которые H/OS предлагает выбрать из выпадающего списка возможных). Результаты выбора показываются рядом, в виде стрелочек на фоне изображения роутера.

В продвинутом режиме возможна более тонкая настройка правил фильтрации пакетов, с заданием направлений прохождения пакетов, применения параметров QoS (Качества Сервиса) и т.п.

: Чтобы определенные сетевые сервисы сохраняли работоспособность вне зависимости от загрузки канала, в SX-101X существует служба Качества Сервиса. С помощью нее выделяется минимальная полоса пропускания, которая всегда будет обеспечена для конкретного вида трафика. Типичный пример – обеспечение QoS для работы IP-телефонии.

: Перечислить ВСЕ сочетания портов и протоколов, используемых существующими приложениями, просто невозможно (хотя в H/OS их отнюдь не мало, целых 54 штуки).

Поэтому в Halon SX-101X предусмотрена возможность создания собственных «сервисов», которыми можно манипулировать наряду с предопределенными; без нее работа многих сетевых приложений была бы просто невозможна.

Объектом правил брандмауэра может являться не только определенный тип трафика, но и его потребитель. Для удобства организации H/OS позволяет объединять адреса и сети в группы, которым затем назначаются конкретные политики.

Сложные сети могут использовать несколько шлюзов. Данный подраздел позволяет манипулировать правилами, согласно которым трафик направляется через тот или иной шлюз. В случае, если несколько шлюзов указаны в пределах одного пути (route), такая конфигурация может быть использована для балансирования сетевой нагрузки между двумя каналами Интернет (load balancing).

: Для защиты сети от флада (flood) и в качестве пассивной защиты от деятельности ботнетов внутри сети, в H/OS реализовано ограничение количества соединений.

: Здесь доступны настройки дополнительных параметров – как на уровне всего брандмауэра целиком, так и по отдельности для каждого из интерфейсов. В большинстве случае установки по умолчанию являются предпочтительными, но иногда возникает необходимость более тонкой настройки – из соображений безопасности или для улучшения работы конкретных приложений.

UTM (Unified Threat Management, “Объединенная система противостояния угрозам“): В нашей сборке H/OS данный раздел включает в себя только один модуль - спамфильтр. SkalSoft AB гордится своими достижениями в этой области; согласно пресс-релизам, эффективность разработанной ей антиспам-системы достигает 95%. Столь высокая эффективность достигается, в числе прочего, благодаря использованию технологии RPD™, разработки компании CommTouch. Данная технология позволяет рассматривать спам не только в виде отдельных сообщений, но также на уровне «волн». Не секрет, что работа спам-систем автоматизирована, и отсылка подчиняется заданному алгоритму, который регулярно повторяется. Система RPD™ анализирует такую “волну“, запоминая ее признаки, и следующий вал спама встречает уже во всеоружии.
Антиспам–модуль Halox SX-101X может работать в двух различных топологиях. Первая предполагает, что почтовый сервер находится внутри корпоративной сети. В этом случае используется SMTP: проверяется вся почта, приходящая в адрес домена, указанного в настройках. Согласно второй топологии, почтовый сервер находится во внешней сети, например, на сервере провайдера. В этом случае проверяется весь POP3-трафик, проходящий через указанный интерфейс. Статистика работы антиспам-системы включает в себя количество перехваченных спам-посланий, процент спама в полученной почте, а также графический мониторинг работы системы, реализованный в виде гистограммы.

Inspection: В данном разделе можно активировать систему защиты от вторжений. При ее включении весь трафик, проходящий через выбранный интерфейс, подвергается анализу, и до тех пор, пока система не определит его как безопасный, маршрутизатор его не пропустит. Алгоритмы, по которым анализируется трафик, были разработаны специалистами компании Sourcefire, работающими в рамках открытого проекта SNORT. Чтобы заставить систему работать, необходимо сперва загрузить с www.snort.org файл с правилами, а затем залить эти правила в соответствующий каталог роутера.
Стоит заметить, что эта операция выглядит не совсем так, как описано в PDF-файле документации; заливать весь скачанный архив нет необходимости; в нем масса ненужной информации, да и не хватит места в файловой системе роутера. На самом деле достаточно распаковать содержимое папки rules из архива в папку /snort/rules маршрутизатора, а затем в веб-интерфейсе нажать кнопку «Import».
В качестве более легкой альтернативы, можно просто нажать кнопку download в веб-интерфейс; тогда файл с правилами загрузится автоматически с сайта производителя. Однако, стоит иметь виду, что эта опция у нас почему-то не всегда срабатывала, и может потребоваться вышеупомянутая операция с доступом по ftp.
После импорта можно увидеть в меню file разделы правил, при клике на которые в основном окне отображается подробный список. Каждое из правил можно сделать активным или неактивным, регулируя, тем самым, уровень защищенности системы. Естественно, при активации ВСЕХ правил падение скорости может показаться чрезмерным, поэтому администраторам рекомендуется выбрать ?оптимальное соотношение скорости и защищенности.

IP Balancer: Данный раздел представляет из себя опциональный модуль, и требует дополнительного лицензирования. Балансинг – это метод распределения нагрузки, применяемый, когда несколько серверов отвечают за один сетевой ресурс (типичный пример – обеспечение доступа в режиме 24/7 к популярному веб-сайту).
Настроить балансинг несложно. Базовая настройка заключается в создании нового балансера, в свойствах которого указывается список серверов, между которыми необходимо распределять нагрузку, и порт, по которому клиенты обращаются к ресурсу. Необходимо также создать правило в разделе Policies,чтобы балансер мог обрабатывать клиентские запросы. Среди дополнительных настроек стоит обратить внимание на выбор метода, по которому осуществляется распределение нагрузки.
Virtual Private Networks (VPN): Помните гипотетическую задачу в самом начале статьи? Данный раздел является ключевым для ее решения. Для того, чтобы попасть из одной сети в другую через пространство публичного Интернета, необходим шифрованный туннель, в который инкапсулируется обычный сетевой трафик.
H/OS поддерживает две разновидности инкапсулирующих протоколов: PPTP и IPSec. PPTP более гибок и проще настраивается “из коробки ”; он лучше подходит для работы отдельных клиентов. При туннелировании трафика между двумя шлюзам предпочтительнее использовать IPSec; впрочем, данный протокол, считающийся более безопасным, можно использовать и для клиентского доступа (Mobile IPSec).
В H/OS поддерживается шесть (!) видов шифрования для IPSec-туннеля, включая самый современный и мощный метод RIJNDAEL-CBC (AES). Для обеспечения безопасной авторизации предлагается два алгоритма – MD5 и HMAC-SHA-1.

Для упрощения процесса создания IPSec-туннеля существует режим Automated IPSec. Специальный протокол ISAKMP (Internet Security Association and Key Management Protocol) обеспечивает автоматический подбор общего для обеих сторон метода шифрования и обмен ключами. Этот же протокол обеспечивает безопасность подключения клиентов Mobile IPSec.

Несмотря на то, что протокол PPTP имеет больший возраст и считается менее безопасным, чем IPSec, его использование оправдано во многих случаях, особенно если речь идет о едином способе подключения для клиентов с разными операционными системами. Для обеспечения централизованной аутентификации и авторизации имеется поддержка RADIUS.

Стоит сказать несколько слов для тех энтузиастов, которые, возможно, захотят использовать SX-101X в домовых сетях. Интернет-провайдеры таких сетей часто применяют для организации доступа различные варианты подключения через VPN. Невзирая на всю мощь H/OS, существует вероятность, что именно с вашим провайдером без фабричной кастомизации прошивки Halon SX-101X подружить не удастся, потому что способ подключения вашего провайдера роутером не поддерживается. То же самое можно сказать для целого ряда других задач, которые могут быть возложены на маршрутизатор: не проверишь на практике – рискуешь зря потратить деньги. Именно поэтому представительство марки HALON принимает заявки на предоставление оборудования на тестирование; возможность не уникальная, но редкая и очень полезная.
Help: Не удивляйтесь тому, что этот раздел заслужил отдельное упоминание в этой статье; он интереснее, чем вы могли бы предположить. В подразделе Documentation содержится прямая ссылка на сайт www.halonsecurity.com, с которой можно скачать различные руководства в формате pdf. Подраздел Glossary окажется неожиданно интересным для тех, кто подзабыл, что именно значит та или иная аббревиатура или термин. С учетом того, что в настройках SX-101X они используются в изрядном количестве, такой справочник под рукой окажется совсем не лишним.

И, наконец, подраздел Wizards содержит в себе два мастера: базовой настройки роутера после отката к фабричным установкам, и создания с нуля IPSec-туннеля. Пустячок, а приятно.

Halon SX-101X тестировался в режиме роутера в течение недели. К сожалению, сделать его основным маршрутизатором корпоративной сети не представлялось возможным, поэтому тестовая модель включала до 5 компьютеров, подключенных к SX-101X через свитч и/или через порты самого маршрутизатора. В процессе работы создавались тестовые настройки политик, работала система UTM в режиме POP3. В среднем, падение производительности, по сравнению с режимом «без маршрутизатора» составило не более 5%*.
*В связи с неравномерностью загрузки канала, был взят усредненный результат за неделю.
Вот мы и подошли к вопросу, с которого, по сути, и начали наше исследование. В том, что Halon SX-101X – устройство интереснейшее, мы уже успели убедиться. Но во сколько денег – казенных или заработанных собственным тяжким трудом – обойдется приобретение такой радости?
Прежде чем на этот вопрос ответить, я хотел бы рассказать про разговор, произошедший у меня с представителем компании, занимающейся сетевыми решениями. «Скажите, пожалуйста, - спросил я его, - сколько бы стоил аппаратный маршрутизатор, рассчитанный на такие вот задачи?» И выложил на стол бумажку с описанием ключевых свойств Halon SX-101X. Представитель попросил таймаут на наведение справок, и через некоторое время выдал мне результат: обладающее перечисленными свойствами решение одного из крупнейших производителей будет базироваться на модульной платформе, иметь стоимость около шести с половиной тысяч долларов – и это не считая подписки на обновления сигнатур системы UTM. Тех, кто давно имеет дело с активным сетевым оборудование, результат, полагаю, не удивит. А вот те, кто привык к собранным из хлама linux-шлюзам, при виде таких цифр наверняка сделают большие глаза. И спросят: «Э-э, так почем там ваш Halon?»
В данный момент ценовая политика компании в России только формируется, поэтому предварительные суммы будут базироваться на европейских расценках. А они таковы: SX-101X с лицензией на антиспам-модуль (1 год обновлений), поддержкой 25 VPN-туннелей, плюс регулярные обновления программного обеспечения, Load Balancer и расширенные гарантия и сервис, обойдется вам – внимание! – в сумму менее чем 2500 долларов США. Домашний энтузиаст или предприниматель, желающий защититься от спама и признающий необходимость обновлений (не нужен балансер и расширенная гарантия) может получить SX-101X за сумму менее чем $1500! Да, разумеется, такое решение имеет свои ограничения, его нельзя нарастить в случае серьезного расширения сетевой инфраструктуры. Но если вы четко представляете себе будущее вверенной вам сети, и Halon SX-101X заинтересовал вас тем, что он способен дать вашей компании здесь и сейчас – не стесняйтесь, свяжитесь с представительством Halon.
В конце концов, именно ваш интерес и является гарантией того, что это действительно неординарное устройство появится, наконец, на отечественном рынке.
Введение
За последние немного лет метод трассировки лучей (ray tracing), похоже, стал "мечтой номер один" мира 3D-графики в реальном времени. Заинтересованность к этой технологии рендеринга вырос до максимума, когда юный исследователь Дэниел Похл (Daniel Pohl) объявил о своём проекте в области этой технологии ещё в 2004 году.
Причина интереса широких масс публики к работе заключалась, по большей мере, в том, что Похл сфокусировался на знаменитых играх id Software Quake III, Quake IV и шутере-франшизе Quake Wars 3D. Исследователь привлёк полно внимания со стороны прессы, а геймеры приступили предаваться мечтам о светлом будущем, когда их любимые игры будут просчитываться по методу трассировки лучей и избавятся от растеризации.
![]() |
Intel достаточно стремительно обратила участливость на замысел, и компании он показался идеальным способом для оправдания увеличения числа ядер в процессорах. Фирма одним духом запустила собственную исследовательскую программу, и сегодня Intel ни в жизнь не упускает возможность подчеркнуть, что трассировка лучей является будущим 3D-игр в реальном времени. Но так ли это на самом деле? Какие технологические действительности скрываются за маркетинговой шумихой? Каковы реальные преимущества способа трассировки лучей? Можем ли мы дожидаться, что трассировка лучей заменит растеризацию? Мы попытаемся откликнуться на эти вопросы.
![]() |
Основные принципы
Основная мысль приема трассировки лучей очень проста: для каждого пикселя на дисплее двигатель рендеринга проводит прямой луч от глаза наблюдателя (камеры) до элемента выводимой сцены. Первое пересечение употребляется для определения цвета пикселя как функции пересекаемой поверхности элемента.
Но одного сего недостаточно для вывода реалистичной сцены. Надобно определить освещение пикселя, что требует проведения вторичных лучей (в отличие от первичных лучей, которые определяют видимость разных объектов, составляющих сцену). Чтобы дать расчет эффекты освещения сцены, проводятся вторичные лучи от точек пересечения к разным источникам света. Ежели эти лучи блокируются объектом, то данная точка находится в тени, которую отбрасывает рассматриваемый источник света. По-другому источник света влияет на освещение. Совокупность всех вторичных лучей, которые достигают источника света, определяет свойство освещения, которое попадает на наш компонент сцены.
Но и это ещё не всё. Чтобы заработать наиболее реалистичный рендеринг, нужно учесть характеристики отражения и преломления материала. Другими словами, надо ведать, какое количество света отражается в точке пересечения первичного луча, а кроме того количество света, которое проходит сквозь материал в этой точке. Опять же, для расчёта финального цвета пикселя нужно проводить лучи отражения и преломления.
В итоге мы получаем несколько типов лучей. Первичные лучи используются для определения видимости объекта и напоминают своего рода Z-буфер, используемый в растеризации. А вторичные лучи разделяются на следующие:
![]() |
Строгий приём трассировки лучей.
Данный метод трассировки лучей является результатом работы Тёрнера Виттеда (Turner Whitted), исследователя, тот, что изобрёл способ 30 лет обратно. До того времени приём трассировки лучей трудился только с первичными лучами. И улучшения, внесённые Виттедом, оказались гигантским шагом в сторону реализма рендеринга сцены.
Ежели вы знакомы с физикой, то наверняка обратили участливость на то, что приём трассировки лучей работает "в обратную сторону" от явлений, протекающих в реальном мире. В различие от распространённого в Средние века мнения, наши глаза не излучают лучи света, наоборот, они получают лучи света от источников света, которые отражаются на различных объектах, окружающих нас. В принципе, так и работали самые в первый раз алгоритмы трассировки лучей.
Но главным недостатком первых алгоритмов было то, что они налагали огромную вычислительную нагрузку. Для каждого источника освещения вам необходимо обмануть тысячи лучей, многие из которых вообще не будут влиять на выводимую сцену (потому что они не пересекают плоскость построения изображения). Современные алгоритмы трассировки лучей являются оптимизацией базовых алгоритмов, при этом они используют так называемую обратную трассировку луча, ибо лучи проводятся в обратном направлении по сравнению с реальностью.
![]() |
Своеобычный приём трассировки лучей приводил к большому количеству ненужных расчётов.
Преимущества трассировки лучей
Как вы уже видели, основным преимуществом алгоритма трассировки лучей является его простота и элегантность. Способ использует исключительно единственный предмет-примитив для отображения эффектов, которые нередко требуют нетривиального подхода и сложных технологий стимуляции при использовании стандартного приема растеризации.
![]() |
Карта окружения (environment map) даёт хорошее приближение к симуляции отражений окружающей среды, при всем при том способ трассировки лучей смочь симулировать более того отражения глаз машины Луиджи на капоте.
Отражения - это одна из областей, в которых способ трассировки лучей отлично показывает себя. Ныне в 3D-движках современных игр отражения рассчитываются с помощью карт окружений (environment map). Эта методика даёт хорошее приближение к отражениям объектов, расположенных "в бесконечности" или в окружающей среде (как разрешено лицезреть по названию), но для близко расположенных объектов подход показывает свои ограничения.
Разработчики игр-гонок, в частности, создали свои трюки для симуляции отражений близких объектов с помощью так называемых динамических кубических карт (dynamic cube maps). Камера располагается на уровне машины геймера, позже чего проводится рендеринг в основных направлениях. Потом результаты рендеринга сохраняются в кубических картах, которые и используются для вывода отражений.
![]() |
Динамические кубические карты могут симулировать отражения близких объектов, в частности, самолёта на чайнике. Но они не справляются с отражениями частей объекта неожиданно на друге, к примеру, носика чайника на его корпусе.
Вестимо, у динамических кубических карт также кушать свои недостатки. Достаточно накладно по вычислительной мощности просчитывать немного результатов рендеринга, и, чтобы производительность не падала уж очень жутко, кубические карты не пересчитываются столь раз, сколько основная картинка. Это мочь привести к небольшой задержке отражений. Чтобы снизить нагрузку на прыть заполнения (fill rate), рендеринг выполняется с меньшим разрешением, что смочь привести к появлению пикселизации в отражениях. В конце концов, эта технология часто ограничивается машиной геймера, а все другие объекты используют больше простые (сферические) карты окружения.
При методе трассировки лучей отражения отображаются совершенно, причём без сложных алгоритмов, потому что всё просчитывается основным алгоритмом рендеринга. Ещё одним преимуществом разрешено считать вывод отражений частей объекта нежданно-негаданно на друге, в частности, отражение зеркала бокового вида на теле машины, что очень сложно получить с помощью приема растеризации - а здесь это отражение получается так же, как и другие.
![]() |
Метод трассировки лучей позволяет симулировать отражения частей объектов как черт из табакерки на друге, в частности, отражение зеркала бокового вида на корпусе машины.
Другие преимущества алгоритма трассировки лучейДругим бесспорным преимуществом способа трассировки лучей является качественная обработка эффектов прозрачности. С помощью метода растеризации отчаянно сложно выводить эффекты прозрачности, поскольку расчёт прозрачности напрямую зависит от порядка рендеринга. Чтобы заработать хорошие результаты, надо отсортировать прозрачные полигоны в порядке самых дальних от камеры к самым близким, а уже впоследствии осуществлять рендеринг.
Но на практике эта задача слишком тяжёлая с точки зрения вычислений, да и ошибки прозрачности также возможны, так как выполняется сортировка полигонов, а не пикселей. Существует несколько технологий, позволяющий объехать сортировку полигонов сцены (таких как depth peeling и A-буферы), но на данный час ни одну из них нельзя назвать спасительной. Вкупе с тем алгоритм трассировки лучей позволяет элегантно справиться с эффектами прозрачности.
![]() |
Правильная обработка эффектов прозрачности с помощью растеризатора требует использования сложных алгоритмов, в частности, A-буферов.
Другим важным преимуществом является расчёт теней. В мире растеризации стандартом стала метод карт теней (shadow mapping). Но у неё несть немного проблем, такие как "лесенки" на контурах и объём используемой памяти. Способ трассировки лучей позволяет постановить проблему теней сильно элегантно, не прибегая к сложным алгоритмам, используя тот же предмет-примитив и не требуя дополнительную память.
В конце концов, ещё одним сильным преимуществом алгоритма трассировки лучей является "родная" вероятность работы с искривлёнными поверхностями. Уже немного лет у современных GPU есть поддержка искривлённых поверхностей (она то появляется, то исчезает по мере выхода новых драйверов и новых архитектур). Но ежели растеризаторам приходится исполнять изначальный доступ тесселяции, чтобы создавать треугольники (это единственный примитив, с которым мочь работать движок растеризации), то движок методом трассировки лучей мочь просто работать с пересечением лучей, без точного математического определения поверхности.

Мифы о трассировке лучей
Но способ трассировки лучей всё же не стоит идеализировать, потому настало время сокрушить некоторые мифы, окружающие этот алгоритм.
Начнём с того, что многие геймеры считают способ трассировки лучей принципиально лучше, чем растеризации, поскольку его используют в фильмах. Это не так. Большинство фильмов с синтезированной/рисованной картинкой (к примеру, все фильмы студии Pixar) используют способ под названием REYES, тот, что опирается на растеризации. Pixar добавила трассировку лучей к своему движку рендеринга RenderMan исключительно позднее, во время производства мультфильма "Тачки/Cars". Но даже для сего фильма метод трассировки лучей использовался избирательно, чтобы не перегрузить существующие вычислительные мощности. До сего проекта Pixar использовала внешний модуль для ограниченного использования приема трассировки лучей, например, для эффектов затенения ambient occlusion (AO).
![]() |
Второй распространённый миф посреди защитников приема трассировки лучей касается сложности сцен, которые позволительно выводить с помощью приема трассировки лучей и с помощью растеризации. Чтобы разобраться, нам надобно внимательнее рассмотреть каждый алгоритм.
Ниже показано, как алгоритм растеризации работает с каждым треугольником сцены.
Основное ограничение алгоритма растеризации касается числа треугольников. Метод имеет сложность O(n), где n - численность треугольников. Способ в данном случае имеет линейную сложность в зависимости от числа треугольников, потому как для каждого кадра составляется список треугольников, которые надо обработать, один за другим.
Напротив, алгоритм трассировки лучей работает следующим образом.
Для каждого пикселя кадра:
Как видим, последовательность обработки стала обратной. В первом случае мы хватали любой полигон и смотрели, какие пиксели он покрывает. А во втором случае мы хватали любой пиксель и смотрели, какой полигон ему соответствует. Оттого разрешено пошевелить мозгами, что метод трассировки лучей меньше зависит от числа полигонов, чем метод растеризации, поскольку численность полигонов не влияет на стержневой цикл. Но на практике это не так. Фактически, чтобы определить, какой треугольник будет пересекаться с лучом, нам надобно обработать все треугольники сцены. В этом месте, конечно, защитники метода трассировки лучей скажут, что не нужно обрабатывать все треугольники сцены с каждым лучом. Ежели применять соответствующий тип структуры данных, то очень легко организовать треугольники таким образом, чтобы исключительно небольшой их процент тестировался с каждым лучом, то есть мы получаем, что способ трассировки лучей имеет сложность O(log n), где n - количество полигонов.
Да, доводы можно признать верными. Но защитники метода трассировки лучей малость лукавят в том, что то же самое верно и для растеризации. Игровые движки уже многие годы используют BSP-лесной массив (binary space partitioning) и другие методы, ограничивающие численность полигонов, которые нужно рассчитать для каждого кадра. Ещё единственный спорный момент - такие структуры больше всего эффективны для статических данных. Всё, что нам нужно: рассчитать данные единственный раз, после чего просто обеспечивать к ним доступ, и это даёт очень хорошие результаты. Но что делать с динамическими данными? В данном случае данные придётся пересчитывать для каждого изображения, а для сего нет никаких чудесных формул. Всё одинаково придётся заниматься изучением каждый полигон.
Простой приём?
Последний миф касается естественной простоты и элегантности алгоритма трассировки лучей. Вестимо, алгоритм трассировки лучей можно черкнуть несколькими строчками кода (некоторые алгоритмы умещаются на родной стороне "визитки"), но высокопроизводительный алгоритм трассировки лучей - совсем иное дело.
Дэвид Любке (David Luebke), инженер nVidia, сделал последующий комментарий, прекрасно отражающий реальность: "Растеризация выполняется быстро, но нужно тщательно продумывать то, как выполнять сложные визуальные эффекты. Метод трассировки лучей поддерживает сложные визуальные эффекты, но надобно скрупулезно продумывать то, как сделать его быстрым".
![]() |
Код минимального способа трассировки лучей, написанный Полем Хекбертом (Paul Heckbert), чтобы уместить его на "визитке".
Всё, что вам надо - прочесть несколько статей про оптимизации, которые необходимо вписать в алгоритм трассировки лучей, чтобы оценить слова Любке. В частности, самые мощные алгоритмы трассировки лучей не обрабатывают лучи независимо, они используют так называемые наборы лучей, что позволяет оптимизировать производительность с лучами, которые имеют одинаковое происхождение и одинаковое назначение. Подобная оптимизация пригоже годится для функциональных блоков "одна памятка много данных" (SIMD) внутри CPU и GPU, а также весьма эффективна для основных лучей с некоторой степенью когерентности (сонаправленности) или для теневых лучей. Но, с прочий стороны, оптимизация уже не годится для лучей преломления или отражения.
Больше того, как указывает Даниэль Похл в своей статье по поводу Quake Wars RT, употребление наборов лучей может стать проблематичным с прозрачными текстурами (знаменитые альфа-текстуры, используемые для деревьев), оттого что если все лучи в наборе не будут новости себя одинаково (некоторые затрагивают поверхность, другие проходят сквозь неё), то возникающие дополнительные издержки могут стать намного более, чем преимущества от оптимизаций, которые даёт применение наборов лучей.
![]() |
Визуализация "стоимости" рендеринга каждого пикселя, где красные пиксели являются самыми "дорогими". Как разрешается видеть, рендеринг деревьев стоит крайне дорого в версии Quake Wars с методом трассировки лучей.
В конце концов, как мы уже упоминали, метод трассировки лучей требует подходящей структуры данных, чтобы оберегать разные элементы сцены, и как раз эта архитектура будет игрывать определяющую роль в итоговой производительности. Но отбор и затем работа с такой структурой данных не такие простые, как кажется на первый точка зрения. Некоторые структуры обладают лучшими характеристиками для статических данных, а другие не возбраняется быстрее обновлять в случае с динамическими данными, или они занимают меньше памяти. Как типично, всё сводится к поиску приемлемого компромисса. Чудес не бывает.
Оттого, как мы видим, приём трассировки лучей не всегда можно назвать идеалом простоты и элегантности, как считают некоторые. Чтобы заработать хорошую производительность от алгоритма трассировки лучей надобно найти ничуть не меньше нетривиальных решений программирования, чем в случае получения сложных визуальных эффектов в методе растеризации.
Ограничения трассировки лучей
Нынче, когда мы рассеяли некоторые мифы, связанные с трассировкой лучей, давайте обратимся на реальные проблемы, которые связаны с этой технологией.
И начнём мы с первейший проблемы, связанной с данным алгоритмом рендеринга: его медлительностью. Естественно, некоторые энтузиасты скажут, что это уже не задача, потому что способ трассировки лучей славно распараллеливается, а количество ядер процессора увеличивается каждый год, поэтому мы должны углядеть линейный рост производительности трассировки лучей. Кроме того, исследования по поводу оптимизаций, которые позволительно применить к трассировке лучей, всё ещё находятся в младенческом состоянии. Ежели посмотреть первые 3D-ускорители и сравнить их с тем, что доступно ныне, то для оптимизма действительно кушать поводы.
Однако такая точка зрения не учитывает существенный момент: самое интересное в методе трассировки лучей содержится во вторичных лучах. На практике расчёт картинки только с первичными лучами не даст особого улучшения качества изображения по сравнению с классическим алгоритмом с Z-буфером. Но задача со вторичными лучами содержится в том, что у них стопроцентно отсутствует когерентность (сонаправленность). При переходе от одного пикселя к другому необходимо рассчитывать абсолютно разные данные, что сводит на нет все обычные техники кэширования, сильно важные для хорошей производительности. Это означает, что расчёт вторичных лучей жутко сильно зависит от подсистемы памяти, в частности, от её задержек. Это наиболее худший сценарий из возможных, потому что из всех характеристик памяти как раз задержки менее всего улучшились за последние годы, и нет никаких поводов размышлять, что ситуация исправится в обозримом будущем. Достаточно легко увеличить пропускную способность памяти, используя немного чипов параллельно, но задержки всё равно останутся прежними.
Причина популярности GPU кроется в том, что формирование "железа", специализирующегося на растеризации, оказалось очень эффективным решением. При растеризации проход к памяти выполняется когерентно (параллельно), самостоятельно от того, работаем мы с пикселями, текселями или вершинами. Потому небольшие кэши, дополненные серьёзной пропускной способностью памяти, будут идеальным решением для получения великолепной производительности. Вестимо, подъем пропускной способности влетает весьма накладно, но такое решение совершенно подходит при условии окупаемости. Напротив, сегодня нет каких-либо решений для ускорения доступа к памяти при расчёте нескольких лучей. Аккурат по этой причине способ трассировки лучей никогда не будет таким эффективным, как растеризация.
Ещё одна характерная задача способа трассировки лучей касается сглаживания (AA). Лучи проводятся в виде типичный математической абстракции, и реального размера они не учитывают. Проверка на пересечение с треугольником является обычный логической функцией, которая даёт ответ "да" или "нет", но не даёт таких деталей, как "луч на 40% пересекает треугольник". Прямым следствием такого эффекта будет явление "лесенок".
Чтобы постановить эту проблему, было предложено немного технологий, таких как трассировка пучков (beam tracing) и трассировка конусов (cone tracing), которые учитывают толщину лучей, но их сложность не позволяет заработать эффективную реализацию. И единственной технологией, которая мочь вручить хорошие результаты, является расчёт большего числа лучей, чем кушать пикселей, то есть суперсэмплинг (рендеринг при большем разрешении). Вряд ли стоит избыточный раз упоминать, что эта способ намного более накладна по вычислительной мощности, чем мультисэмплинг, использующийся в современных GPU.
Гибридный двигатель рендеринга?
Если вы прочитали всю статью до сего места, то наверняка уже подумываете о том, что метод трассировки лучей покуда что не может заместить растеризацию, но, возможно, стоит смешать две технологии вместе? И на первый точка зрения кажется, что две технологии дополняют друг друга. Легко явить растеризацию треугольников для определения видимой картинки, получая превосходство от великолепной производительности данной технологии, после этого чего будет применяться трассировка лучей исключительно для некоторых поверхностей, добавляя реализм там, где это надобно, например, для добавления теней или получения хороших отражений и прозрачности. Собственно, такой подход Pixar и использовала для мультфильма "Тачки/Cars". Геометрические модели создаются с помощью REYES, а трассировка лучей употребляется "по требованию" там, где надо симулировать определённые эффекты.
![]() |
Для мультфильма "Тачки/Cars" Pixar использовала гибридный двигатель рендеринга, сочетающий REYES для визуализации и трассировку лучей "по требованию" для отражений и ambient occlusion.
К сожалению, несмотря на то, что таковой способ звучит обещающе, гибридные решения не так без труда претворить в жизнь. Как мы уже видели, одним из важных недостатков приема трассировки лучей является необходимость организации структуры данных таким образом, чтобы ограничить число проверок пересечения лучей и объектов. И применение гибридной модели вместо чистой трассировки лучей это не меняет. Надобно организовывать структуру данных вкупе со всеми недостатками, которые с этим связаны. В частности, предположим, что метод трассировки лучей основан на статических данных, а рендеринг динамических данных производится сквозь растеризацию. Но в данном случае мы теряем все преимущества трассировки лучей. Потому что для способа трассировки лучей динамических данных не существует, то нереально будет заставить объекты отбросить тень или посмотреть отражения.
Больше того, что касается производительности, то самой здоровенный проблемой является доступ к памяти, связанный со вторичными лучами, а эти лучи как раз и необходимы в нашем гибридном движке рендеринга. Так что прирост производительности не будет таким большим, как не возбраняется было бы дожидаться изначально. Потому как большая часть времени рендеринга будет отправляться на вторичные лучи, то выигрыш от отсутствия просчёта основных лучей будет мизерным.
Другими словами, пытаясь скомбинировать преимущества обоих методов, мы неизбежно комбинируем и их недостатки, теряя элегантность алгоритма трассировки лучей и высокую производительность растеризации.
Решение
Как мы уже неоднократно упомянули в нашей статье, предстоит разрешить непочатый край проблем, раньше чем метод трассировки лучей станет достойной альтернативой растеризации в сфере рендеринга в реальном времени. И ежели вдуматься, то станет ли сей метод панацеей от всех бед? Преимущества способа трассировки лучей не такие революционные, чтобы оправдать существенное понижение производительности. Сильные моменты приема связаны с отражениями и прозрачностью, ибо два этих эффекта сложнее всего вывести на существующих алгоритмах растеризации. Но, снова же, такой ли это серьёзный недостаток? Мир около нас не состоит целиком из очень прозрачных или сияющих объектов, потому наше зрение вполне может удовлетвориться грубым приближением.
Ежели посмотреть на последние автосимуляторы, например, Gran Turismo и Forza, то там достаточно недурственно заметно вполне удовлетворительное качество рендеринга, пусть даже отражения на корпусе всецело лживые. И точное отражение зеркала заднего вида на краске вряд ли позволительно считать достаточным, чтобы признать ещё единственный шаг в сторону фотореализма.
![]() |
На самом деле отражений нет. Например, зеркало бокового вида на корпусе машины не отражается. Но нужен ли вам "честный" рендеринг Audi R8 с помощью алгоритма трассировки лучей?
Большинство энтузиастов считают, что способ трассировки лучей по своей природе даёт лучшее описание, чем растеризация - но они зачастую основывают своё взгляд на картинке, произведённой оффлайновым движком, работающем не в реальном времени. При всем при том результаты таких движков намного лучше, чем способности современных игр. Помимо того, кругом трассировки лучей наблюдается определённая путаница. Энтузиасты часто сравнивают с растеризацией фотореалистичные изображения, которые получены комбинацией нескольких мастер, таких как трассировка лучей для прямых отражений, способ излучательности (radiosity) для диффузного отражения, фотонное описание (photon mapping) для каустики и т.д. Все эти технологии сочетаются, чтобы снабдить максимально фотореалистичное свойство.
![]() |
Чтобы получить фотореалистичный рендеринг, нужно сочетать несколько технологий. Трассировка лучей сама по себе недостаточна для симуляции сложных взаимодействий промеж материалами разных типов и света.
В своей базовой версии способ трассировки лучей, ежели рассматривать существующие попытки реализации в реальном времени, годится исключительно для идеальных отражений и жёстких (резких) теней. Игра Doom 3 несколько лет назад доказала, что позволительно создать надёжный 3D-движок, который идеально бы справлялся с динамическими тенями и сквозь растеризацию, но если кинуть взор в прошлое, то игра показала и то, что жёсткие тени не являются реалистичными.
![]() |
Чтобы творить мягкие тени или диффузные отражения (такие, какие вы видите на текстурированном металле, к примеру), требуются больше развитые техники трассировки лучей, такие как трассировка путей (path tracing) и или распределённая трассировка лучей (distributed ray tracing). Но подобные техники требуют немаловажно большего количества лучей, так что они покуда ещё слабо подходят для реального времени.
Некоторые пользователи считают, что раньше времени или поздненько будет доступна столь большая вычислительная мощность, что превосходство растеризации по производительности перестанет пребывать решающим фактором. По закону убывающей отдачи о приросте производительности при растеризации одним духом забудут, получив элегантность трассировки лучей. Около так же, как и раньше было забыто преимущество кодирования на ассемблере по производительности, которое оказалось недостаточным, чтобы перевесить преимущества языков высокого уровня.

Хотя вообще-то, нас это вряд ли убедит. В любом случае, мы ещё покуда далеки до того времени, когда мы сможем пожертвовать производительностью из-за элегантности и простоты. Попросту посмотрите, что произошло за последние 10 лет в мире оффлайнового рендеринга. Ежели рендеринг одного кадра мультфильма "История игрушек/Toy Story" выполнялся, в среднем, за два часа, то кадр из мультфильма "Рататуй/Ratatouille" - уже за шесть с половиной часов, несмотря на вычислительную мощность, которая увеличилась в промежутке промеж двумя картинами больше чем в 400 раз. Другими словами, чем более вычислительной мощности и ресурсов вы предоставляете компьютерным художникам, тем быстрее они их поглощают.
Ежели более того группа, подобная Pixar, которая мочь дозволить себе выделить несколько часов вычислений для создания одного кадра, решила применять трассировку лучей исключительно время от времени из-за негативного влияния на производительность, это стало быть, что времена, когда мы получим достаточную вычислительную мощность в 3D-играх реального времени для выполнения всего рендеринга методом трассировки лучей, жутко и сильно далеки. Да и в будущем у энтузиастов точно будет, куда потратить такую вычислительную мощность.
| февраль, 2012 | ||||||
| пн | вт | ср | чт | пт | сб | вс |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | ||||