Comparsion между пиксельным гибочным станком (в Flash) и пиксельными шейдерами (в Silverlight)

DDD является GNU frontend для gdb: http://www.gnu.org/software/ddd/

6
задан Andy Li 6 September 2009 в 10:37
поделиться

2 ответа

Я ничего не знаю о шейдерах Silverlight, но могу поговорить о PixelBender.

Шейдер пиксельного бендера принимает данные растрового изображения и оценивает каждый 32-битный пиксель (фактически каждый блок из 4 плавающих точек) по одному и выполняет над ним вычисления. Входными данными шейдера являются одно или несколько изображений и необязательные параметры, а выходными данными всегда является одно изображение. Вычисление происходит параллельно по всем пикселям изображения и между пикселями "без сохранения состояния", что означает, что вы не можете сохранять значения при оценке одного пикселя и использовать их в другом. Фактически, с точки зрения оценки пикселей, функция предназначена для работы с бесконечно большим изображением и, следовательно, игнорирует размер и форму изображения.

Функциональные возможности, доступные Flash Player для шейдеров, являются подмножеством всего языка Pixelbender. Он исключает такие языковые функции, как многоразовые библиотечные функции и региональные функции.

Шейдер пиксельного изгиба может выполняться на графическом процессоре в отдельном потоке от Flash Player, по сути, позволяя выполнять многопоточные процессы во Flash. На практике это полезно только для обработки большого числа пакетов, учитывая отсутствие состояния и ограниченную функциональность pixelbender. Байтовый массив чисел может быть передан шейдеру, замаскированному под растровые данные, и запущен асинхронно (или синхронно) с использованием ShaderJob.

С точки зрения синтаксиса и HLSL, и PBJ похожи на C и основаны на GLSL. Я предполагаю, что HLSL, вероятно, имеет лучшую производительность и больше функций, учитывая опыт Microsoft с графическим оборудованием. Однако, различия между Flash и Silverlight выходят далеко за рамки их шейдеров, и я думаю, что Flash превосходит Silverlight почти во всех областях, поэтому все сводится к тому, какая платформа лучше отвечает потребностям.

0
ответ дан 17 December 2019 в 22:14
поделиться

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

У этого форума есть несколько хороших плюсов и минусов для Silverlight 3: Плюсы и минусы . Я знаю, что эта тема старая, но я добавляю ее, так как она показалась немного неполной.

1
ответ дан 17 December 2019 в 22:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: