Ця стаття є сирим з іншої мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (грудень 2016) |
Паралельний рендеринг (або розподіленого рендеринга) - є застосування паралельного програмування в розрахунковій області комп'ютерної графіки. Рендеринга графіки може зажадати великих обчислювальних ресурсів для складних сцен, які виникають в науковій візуалізації, медичної візуалізації, САПР, Система автоматизованого проектування і розрахунку і віртуальної реальності. Візуалізація є надзвичайна паралельність робочого навантаження в декількох доменах (наприклад, пікселів, об'єкти, кадри) і, таким чином, є предметом численних досліджень.
Відомості
У комп'ютерній графіці, візуалізації можна визначити як процес перетворення моделі в зображень за допомогою комп'ютерних програм.Зображення являє собою цифрове зображення або зображення растрової графіки. Модель являє собою абстрактне опис Колекція геометрично певних об'єктів в 3D-просторі, який буде містити таку інформацію,як геометрія, точки зору, текстури, освітлення і затінення і т.д. Операція рендеринга проектів графічні об'єкти в моделі в 2D просторі зображень, обчислює інтенсивності кольору окремих пікселів зображення, і, нарешті, генерує зображення. (Crockett, 1997)
Для складних об'єктів або зображень з високою якістю, процес візуалізації вимагає масивних обчислювальні ресурси. Наприклад, надання медичної візуалізації, із поверхні покоління, а також деякі програми CAD може знадобитися мільйони чи мільярди операцій з плаваючою точкою і цілочисельні операції для кожного зображення. Деякі методи створення зображення, такі як трасування променів, 3D-текстур і т.д., працюють дуже повільно в простому машини. Для того, щоб отримати необхідну обчислювальну потужність, єдиним практичним рішенням є використання декількох блоків обробки щоб прискорити процес рендеринга. Ця технологія відома як паралельний рендеринг.
Паралельний рендеринг може значно підвищити продуктивність комп'ютерних графічних програм. В паралельний рендеринг, робота розділена, поширюється на комп'ютери і виконуються одночасно в паралельні один одному. Розглядаючи застосування променевих лиття, без паралельно, промені будуть спрямовані по одному, щоб всі пікселі в поданні усіченого; якщо використовується паралельний рендеринг, весь усічений можна розділити в ряді частин; ми можемо запустити той же число процесів, щоб посилати промені паралельно різні частини.
Скупчення машин, як правило, використовуються для виконання такого завдання. З розпаралелювання, високоякісне зображення високої складності можна легко отримати, і високе Ефективність обробки зображень може бути досягнуто.
Паралельний рендеринг широко прийнятий кожен метод формування зображення в області комп'ютерної графіки. Ці методи включають в себе поверхню і полігон рендеринг, рендеринг місцевості, обсяг рендеринга, трасування променів і излучательности. Типи паралелізму, що використовуються в процесі візуалізації різні; функціональний паралелізм, паралелізм даних, і тимчасової паралелізм є три основних типи; Крім того, вони можуть бути об'єднані в різні типи гібридної системи.
Сортування-перше, відсортуйте середнього, і начебто-останні є найбільш обговорювані алгоритми паралельних рендеринга. Це Класифікація заснована на точці в конвеєрі рендеринга, при якому об'єкт-простір для imagespace відображення відбувається. Є багато паралельних програм і структур рендеринга, такі як хром, Еквалайзер, і OpenSG т.д.
Види Паралелізму
Кілька різних видів паралельності можуть бути використані в процесі візуалізації на різних рівнях. Вони включають в себе функціональний паралелізм, паралелізм даних і тимчасової паралелізм. Ці основні типи можуть додатково бути об'єднані в гібридних системах.
- Функціональний паралелізм
Процес рендеринга може бути розділений на безліч різних функцій, але, як правило, складається з двох частин:
- обробка Геометрія: моделювання трансформації, задня поверхня вибракування, відсікання, освітлення, і вид перетворення.
- растеризации: скан-перетворення, затінення, г-буфера порівняння і магазин, і видимість визначення.
У разі функціонального паралелізму, ці функції застосовуються послідовно до окремих елементів даних. Функції призначаються різні блоки обробки; як тільки блок обробки завершує свою роботу на елемент даних, він посилає елемент даних на наступний блок і отримує новий предмет від його вгору за течією сусід. Функціональний паралелізм може прискорити розрахунки критичних, після того, як конвеєр рендеринга заповнений; Ступінь паралельності досягнутого пропорційна кількості функціональних блоків. Функціональний паралелізм підходить для полігонів і візуалізації поверхні додатків. ми годуємо 3D-геометричні об'єкти на початку трубопроводу, а також отримати кінцеві значення пікселів від кінця трубопроводу. Існують два обмеження функціонального паралелізму; по-перше, загальна швидкість трубопроводу обмежується найповільнішої функції блоку, уникаючи вузьких місць є одним з найважливіших дизайн питання про функціональний паралелізм. Іншим недоліком функціонального паралелізму є те, що доступно Паралелізм залежить від числа ступенів в трубопроводі; через кількість функцій ділиться вельми обмежений, функціональний паралелізм не в змозі виробляти дуже високу продуктивність. (Crockett, 1997; Girkar, 1992; Раджагопалан, 2005)
Паралелізм Даних
На відміну від функціонального паралелізму, паралелізм даних фокусується на поширенні даних по Графічні дані розділені на кілька потоків; потім кілька елементів даних можуть бути оброблятися одночасно на різних блоків обробки, і результати об'єднуються, щоб створити остаточне зображення. (Хілліс, 1986) Є два типи паралелізму даних: об'єкт паралелізм і паралелізм зображення. об'єкт паралелізм відбувається на стадії обробки геометрії трубопроводу рендеринга; паралелізм зображення відбувається на більш пізній стадії растеризации конвеєра рендеринга. паралелізм даних може Перевага декількох процесорів, а також надає себе масштабованих реалізацій; більшість з Системи графічного програмного забезпечення взяли цей підхід. Щоб уникнути вузьких місць, як правило, об'єкт і зображення паралельність повинні бути включені разом; Однак отримання належного балансу між ними важко, так як робочі навантаження на кожному стадія залежить від багатьох факторів, таких як SCE.
Тимчасовий паралелізм
Тимчасовий паралелізм зазвичай прийнятої анімації додатків. У такого роду застосуваннях велика кількість зображень генеруються для подальшого відтворення; паралелізм виходить розкладаючи загальну задачу візуалізації в тимчасовій області; і процесори присвоюється кількість кадрів для візуалізації, а також дані, необхідні для виробництва цих кадрів. Кілька типів паралельності можуть бути включені в єдину систему для формування гібридного паралельність. Наприклад, функціональні і дані паралельності можуть бути об'єднані шляхом реплікації всіх або частини з рендеринга трубопроводу. Temporal паралелізм можна також комбінувати з функціональними або даними паралелізм. За допомогою гібридного підходу, системи можуть виробляти більш високі характеристики.
Огляд паралельних алгоритмів рендеринга
У графічної візуалізації, деякі проблеми можуть бути распараллелен тривіальним, вимагаючи мало або взагалі не міжпроцесорних комунікації, а також не сприяє ніяких значних обчислювальних накладних витрат. Такі алгоритми називаються неінтерактивний паралельно рендеринга або приголомшливо паралельно рендеринга. Алгорітмов рендеринга експлуататорські временного паралелізму данной категорії. У таких додатках, кадри розподіляються серед доступних процесорів; один кадр може бути винесено на одному процесорі, і кілька кадрів можуть бути оброблені одночасно. Rendering методи, засновані на променевому лиття може також бути реалізований у вигляді смущающе паралель в зв'язку з тим, що значення пікселів, обчисленої стрілянина промені від кожного пікселя в сцену. Якщо кожен процесор має швидкий доступ до всього об'єкти, то кожен промінь може бути оброблений незалежно один від одного, без межпроцессорного зв'язку вимагається. У категорії інтерактивного паралельного рендеринга, існують різні алгоритми розподілу надання роботи. Наприклад, сортування перший рендеринг розкладає кінцеве зображення; кожен Процесор надає 2D плитки зображення. Сортування-рендеринга останній розпадається примітиви через всі процесори, і рекомбинирует частково відрендерених кадрів. перерозподіляє Сортування середнього рендеринга надаються примітиви в середині конвеєра рендеринга. Pixel розкладання розділити пікселі кінцевого виду рівномірно, або шляхом ділення повних пікселів або суб-пікселів; і немає сортування надавані примітивів відбувається, так як всі ресурси рендеринга надають більш-менш ту ж точку зору. DPlex рендеринга поширює повний, що чергуються кадрів для окремого процесора. (Кокс, 1995; Алгоритми інтерактивні паралельні рендеринга, як правило, ввести накладні витрати, які викликані деякими або все з наступних причин:
- зв'язку між завданнями або процесорів;
- затримки через нерівномірні робочі навантаження;
- додаткові або надлишкові обчислення;
- підвищені вимоги до зберігання для скопійованих чи допоміжних структур даних. У паралельних алгоритмів візуалізації, дані зображення, і об'єкт розділені серед доступних процесори; і рендеринга можна розглядати як відображення з 3D простору об'єктів в 2D-зображення простір. Це відображення не є фіксованим, а залежить від перетворень моделювання і перегляду параметри. Коли обидва дані об'єкта і зображення розділені між процесорами, а потім в якийсь момент в конвеєрі рендеринга, дані повинні бути передані між процесорами; кожен процесор повинен передавати дані на і отримувати дані від інших процесорів. управління цим спілкування є одним з основних питань для паралельних алгоритмів рендеринга. (Crockett, 1997)
Паралельний рендеринг – Проблема сортування Як вже говорилося раніше конвеєр рендеринга складається з обробки геометрії і растеризації. В етап обробки геометрії, паралельність досягається шляхом присвоєння кожному процесору підмножина об'єкти в сцені. На етапі растеризації, кожен процесор призначається частина розрахунки пікселя. Рендеринга можна розглядати як визначення того, як кожен об'єкт впливає на кожен пікселів. Так як моделювання та перегляд перетворення є довільними, об'єкт може впасти в будь-якому місці на екрані. Тому ми можемо розглядати як рендеринг завдання сортування, тобто сортування об'єктів до екран. (Молнар, 1994; Стівен Мольнар 1994) Найчастіше, сортування відбувається в трьох основних місцях розташування конвеєра рендеринга. Місце сортування визначає алгоритми паралельних рендеринга; якщо це має місце під час обробка геометрії, алгоритм називається свого роду першим, який перерозподіляє сирі об'єкти до їх Параметри екрану простору відомі; якщо це відбувається між обробкою геометрії і растеризации, алгоритм сортування, який перерозподіляє середній екран-космічних об'єктів; якщо він приймає Місце під час растеризації, алгоритми сортування є останнім, який перерозподілити пікселі. Перше сортування Алгоритм сортування першого розподіляє графічні об'єкти для процесорів під час геометрії етап обробки трубопроводу рендеринга.
Перший сортувальний алгоритм включає в себе наступні кроки
- Об'єкти призначаються процесори довільно.
- Процесор обчислює екранний простір обмежувальної рамки об'єктів, покладених на нього і
- Визначає їх відповідні плитки в просторі екрану.
- Об'єкти в поширенні відповідних процесорів.
- Виконайте інші розрахунки геометрії обробки та растеризації для об'єктів.
Основні особливості першого сортування це: перерозподілити об'єкти на початку рендеринга процес; і процесори реалізувати весь конвеєр рендеринга для частини екрану. Коли ставлення Тесселяція і ступінь передискретизации високі, він має низьку зв'язок вимоги. Однак алгоритм сортування перший чутливий до дисбалансу навантаження. Об'єкти можуть групуватися в регіонах, а також робоче навантаження може впасти на кілька процесорів. Він також має обмежену масштабованість за рахунок паралельні накладні витрати, викликані об'єктами надаються на декількох плиток. (Молнар, 1994; Mueller, 1995) На малюнку 3 показаний приклад використання сортування першого рендеринга на відео стіни. Кожен комп'ютер в відеостіну надає частину перегляд обсягу, а остаточне зображення підсумовування зображення на моніторах, які складають відеостіну.
Середнє сортування
У режимі сортування середній алгоритм, об'єкти перерозподіляються в середині конвеєра рендеринга, тобто між обробкою геометрії і растеризації. До перерозподілу, об'єкти були перетвориться в координати екрана і готові до растеризації.
У додатках рендеринга сортування, середнього, обробка геометрії і растеризации, як правило,обробляються на різних процесорах. Дві групи процесора можуть бути або окремі набори процесори або поділу часу процесори. Об'єкти присвоюються довільно до геометрії процесори; плитки екрану дисплея призначені на процесори растеризації. Для кожного кадру, процесори геометрії виконати необхідні розрахунки по об'єктах і класифікувати їх з точки зору їх екранних регіонів. Після цього процесори геометрія розподіляють екранний простір об'єктів з їх відповідним процесором растеризации для подальшої візуалізації. Сортування - середній алгоритм розглядається як загальний і прямий; тому що перерозподіл
відбувається між обробкою геометрії і растеризации, яка є природним місцем в наданні трубопровід. Проблема сортування середнього алгоритму високі вимоги до комунікації, коли тесселяции коефіцієнт високий. Іншим недоліком цього алгоритму є те, що він чутливий до дисбалансу навантаження між процесорами растеризации, якщо об'єкти розподілені нерівномірно по площі екрану. (Молнар, 1994; Williams, 2003)
Останнє сортування
Алгоритм сортування останній розкладається візуалізована об'єкти довільно по всій рендеринга процесори; кожен процесор обчислює значення пікселя для свого власного підмножини об'єктів; а потім передає ці пікселі по мережі межсоединения до композітінга процесорів, які отримують зображення, створені іншими процесорами, а потім композит їх до остаточного зображення. (Малюнок 5) У режимі сортування останнього алгоритму, процесори не працюють незалежно один від одного до самого кінця рендеринга трубопроводу; сортування відкладається. Цей алгоритм масштабує рендеринга дуже добре і менш схильні до дисбаланс. Однак стадія перекомпозіції дорого через обсяг даних пікселя обробленого протягом перекомпозіції. Для додатків рендеринга високоякісних зображень, то це може привести до дуже високої даних ставки по межсоединений мережі, Є два типових підходу для алгоритму сортування-останньої:
- SL-розрідженим, який мінімізує комунікація лише поширення пікселів фактичні растеризации;
- SL-повний, який магазини і передає повне зображення від кожного процесора. (Moreland, 2001)
Рода-перше, свого роду середнього і сортування останні алгоритми широко прийняті і реалізовані в багатьох додатки і рамки. Наприклад, хром, який являє собою систему для інтерактивних рендеринга на кластерах графічних робочих станцій; сортування першого і сортування в минулому, можуть бути реалізовані за допомогою це. (Хром; Paul, 2004 [ 1 грудня 2016 у Wayback Machine.]) Ще один відомий каркас рендеринга з відкритим вихідним кодом є Еквалайзер який являє собою ПО проміжного шару для створення паралельних програм OpenGL основі і підтримують як сортувати по першій і сортування останній алгоритм. (Еквалайзер)
Робоче Навантаження Розподіл
Є два, часто конкуруючих, причини для використання паралельного рендеринга. масштабування продуктивності дозволяє фрейми виконуються швидше в той час як дані масштабування дозволяє великі набори даних для візуалізації. Різні способи розподілу навантаження, як правило, надають перевагу одному типу масштабування над іншим. Там також можуть бути і інші переваги і недоліки, такі як латентність і навантаження нерівномірною. Три основні варіанти примітивів роздають цілі кадри, пікселі або об'єкти (наприклад, трикутник сітках).
Розподіл Кадрів
Кожен блок обробки може зробити весь кадр з іншої точки зору або момент часу. Кадри, що формуються по різних точок зору може поліпшити якість зображення зі згладжуванням або додати ефекти, такі як глибина різкості і виведення тривимірного дисплея. Такий підхід дозволяє хороше масштабування продуктивності, але без масштабування даних.
При візуалізації послідовних кадрів паралельно буде лаг для інтерактивних сесій. Відставання між призначеного для користувача введення і дію відображається пропорційно число послідовних кадрів візуалізується паралельно.
Розподіл Пікселів
Набори пікселів в просторі екрану можуть бути розподілені між блоками обробки в тому, що часто називають всервие рендеринга.
Роздача з чергуванням рядків рядків пікселів забезпечує хорошу балансування навантаження, але робить масштабування даних неможливо. Поширення суміжних 2D плитки пікселів дозволяє для масштабування даних по вибракування даних з видом на усіченої. Проте, є службові дані від об'єктів на кордонах Frustum тиражується і дані повинні бути завантажені динамічно в міру зміни точки зору. Динамічне балансування навантаження також необхідний для підтримки масштабування продуктивності.
Розподіл об'єктів
Розподіл об'єктів серед блоків обробки часто згадуються як свого роду останнього рендеринга. Це забезпечує хорошу масштабування даних і може забезпечити гарне масштабування продуктивності, але це вимагає проміжних зображень з обробки вузлів бути альфа-скомбіновані для створення кінцевого зображення. Що більша роздільна здатність зображення, накладні витрати альфа-композітінга також зростає.
Схема балансування навантаження також необхідний для підтримки продуктивності незалежно від умов перегляду. Це може бути досягнуто за рахунок більш розбиття простору об'єктів і призначення декількох штук в кожен блок обробки випадковим чином, однак це збільшує кількість стадій альфа-композітінга, необхідних для створення кінцевого зображення. Інший варіант полягає в призначенні безперервний блок для кожного блоку обробки і оновлювати його динамічно, але це вимагає динамічного завантаження даних.
Гібридний Розподіл
Різні типи розподілів можуть бути об'єднані в ряді модами. Кілька послідовних кадрів можуть бути надані паралельно в той же час рендеринга кожного з цих окремих кадрів паралельно з використанням розподілу пікселів або об'єкта. Розподіл об'єктів можуть спробувати звести до мінімуму їх перекриття в просторі екрану, щоб зменшити витрати на альфа-композітінга, або навіть використовувати розподіл пікселів для візуалізації частини простору об'єктів.
Додатки З Відкритим Вихідним Кодом
З відкритим вихідним кодом пакет Хром (забезпечує механізм паралельного рендеринга для існуючих додатків. Вона перехоплює OpenGL виклики і обробляє їх, як правило, щоб відправити їх на кілька блоків рендеринга водіння стіну [ дисплея. Еквалайзер] є відкритим вихідним кодом рендеринга структури і системи управління ресурсами для MultiPipe додатків. Еквалайзер надає API для написання паралельних, масштабованих додатків візуалізації, які налаштовані під час виконання сервером ресурсів. OpenSG є відкритим вихідним кодом система, яка забезпечує дерева сцени паралельні можливості рендеринга, особливо на кластерах. Вона приховує складність паралельних багатопоточних і групових застосунків і підтримує свого роду перша, а також сортування останньої візуалізації.
Паралельний рендеринг дуже важливий підхід в комп'ютерній графіці. експлуатуючи міць кілька процесорів, багато програм, такі як в режимі реального часу моделювання, анімації, віртуальна реальність, фото-реалістичні зображення, і наукове перевагу візуалізації з використанням паралельності підвищити продуктивність рендеринга. Там було багато різних типів паралелізму і алгоритми реалізовані і досліджені. Успішне застосування паралельної візуалізації необхідно брати до складають мінуси і плюси цих методів. Хоча паралельні методи візуалізації були успішно застосовується в багатьох областях застосування; проблеми все ще залишаються для підвищення масштабованості, балансування навантаження, зв'язок, і склад зображення цих алгоритмів і виробляти більше продуктивність.
Примітки
- Steven Molnar Michael Cox† David Ellsworth Henry Fuchs. A Sorting Classification of Parallel Rendering.
- Equalizer Parallel Rendering.
- Lei Sun. Parallel Rendering – Fast Graphics.
Література
- Molnar, S., M. Cox, D. Ellsworth, and H. Fuchs. “A Sorting Classification of Parallel Rendering.” IEEE Computer Graphics and Algorithms, pages 23–32, July 1994.
- Jump up^ Molnar, S., M. Cox, D. Ellsworth, and H. Fuchs. “A Sorting Classification of Parallel Rendering.” IEEE Computer Graphics and Algorithms, pages 23–32, July 1994.
- Chromium. Retrieved May 2009, from Cox, M. B. (1995). Algorithms for parallel rendering. Ph.D. dissertation, Department of Computer Science, Princeton University, 1995
- Crockett, T. W. (1997). An Introduction to Parallel Rendering. Parallel Computing, 23(7), 819-843. Equalizer. Retrieved May 28, 2009, from Girkar, M. B. (1992). Functional parallelism: theoretical foundations and implementation. University of Illinois at Urbana-Champaign
- Hillis, W. D. S., Guy L., (1986). Data Parallel Algorithms. Communications of the ACM, December 1986. Molnar, S., Michael Cox, David Ellsworth, Henry Fuchs (1994). A Sorting Classification of Parallel Rendering, IEEE Computer Graphics and Applications. IEEE Computer Graphics and Applications, 14(4), 23-32.
- Moreland, K. W., B. Pavlakos C. (2001). Sort-last parallel rendering for viewing extremely large data sets on tile displays. Paper presented at the Proceedings of the IEEE 2001 symposium on parallel and large-data visualization and graphics
- Mueller, C. (1995). The sort-first rendering architecture for high-performance graphics. Proc. 1995 Symp. Interactive 3D Graphics (ACM SIGGRAPH, 1995) 75-84.
- Paul, B. (2004). Chromium for Cluster Rendering Retrieved May 20, 2009, from Rajagopalan, R. G., D.; Mudur, S.P (2005, April 2005). Functionality Distribution for Parallel Rendering. Paper presented at the Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ye sirim perekladom z inshoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad gruden 2016 Paralelnij rendering abo rozpodilenogo renderinga ye zastosuvannya paralelnogo programuvannya v rozrahunkovij oblasti komp yuternoyi grafiki Renderinga grafiki mozhe zazhadati velikih obchislyuvalnih resursiv dlya skladnih scen yaki vinikayut v naukovij vizualizaciyi medichnoyi vizualizaciyi SAPR Sistema avtomatizovanogo proektuvannya i rozrahunku i virtualnoyi realnosti Vizualizaciya ye nadzvichajna paralelnist robochogo navantazhennya v dekilkoh domenah napriklad pikseliv ob yekti kadri i takim chinom ye predmetom chislennih doslidzhen VidomostiU komp yuternij grafici vizualizaciyi mozhna viznachiti yak proces peretvorennya modeli v zobrazhen za dopomogoyu komp yuternih program Zobrazhennya yavlyaye soboyu cifrove zobrazhennya abo zobrazhennya rastrovoyi grafiki Model yavlyaye soboyu abstraktne opis Kolekciya geometrichno pevnih ob yektiv v 3D prostori yakij bude mistiti taku informaciyu yak geometriya tochki zoru teksturi osvitlennya i zatinennya i t d Operaciya renderinga proektiv grafichni ob yekti v modeli v 2D prostori zobrazhen obchislyuye intensivnosti koloru okremih pikseliv zobrazhennya i nareshti generuye zobrazhennya Crockett 1997 Dlya skladnih ob yektiv abo zobrazhen z visokoyu yakistyu proces vizualizaciyi vimagaye masivnih obchislyuvalni resursi Napriklad nadannya medichnoyi vizualizaciyi iz poverhni pokolinnya a takozh deyaki programi CAD mozhe znadobitisya miljoni chi milyardi operacij z plavayuchoyu tochkoyu i cilochiselni operaciyi dlya kozhnogo zobrazhennya Deyaki metodi stvorennya zobrazhennya taki yak trasuvannya promeniv 3D tekstur i t d pracyuyut duzhe povilno v prostomu mashini Dlya togo shob otrimati neobhidnu obchislyuvalnu potuzhnist yedinim praktichnim rishennyam ye vikoristannya dekilkoh blokiv obrobki shob priskoriti proces renderinga Cya tehnologiya vidoma yak paralelnij rendering Paralelnij rendering mozhe znachno pidvishiti produktivnist komp yuternih grafichnih program V paralelnij rendering robota rozdilena poshiryuyetsya na komp yuteri i vikonuyutsya odnochasno v paralelni odin odnomu Rozglyadayuchi zastosuvannya promenevih littya bez paralelno promeni budut spryamovani po odnomu shob vsi pikseli v podanni usichenogo yaksho vikoristovuyetsya paralelnij rendering ves usichenij mozhna rozdiliti v ryadi chastin mi mozhemo zapustiti toj zhe chislo procesiv shob posilati promeni paralelno rizni chastini Skupchennya mashin yak pravilo vikoristovuyutsya dlya vikonannya takogo zavdannya Z rozparalelyuvannya visokoyakisne zobrazhennya visokoyi skladnosti mozhna legko otrimati i visoke Efektivnist obrobki zobrazhen mozhe buti dosyagnuto Paralelnij rendering shiroko prijnyatij kozhen metod formuvannya zobrazhennya v oblasti komp yuternoyi grafiki Ci metodi vklyuchayut v sebe poverhnyu i poligon rendering rendering miscevosti obsyag renderinga trasuvannya promeniv i izluchatelnosti Tipi paralelizmu sho vikoristovuyutsya v procesi vizualizaciyi rizni funkcionalnij paralelizm paralelizm danih i timchasovoyi paralelizm ye tri osnovnih tipi Krim togo voni mozhut buti ob yednani v rizni tipi gibridnoyi sistemi Sortuvannya pershe vidsortujte serednogo i nachebto ostanni ye najbilsh obgovoryuvani algoritmi paralelnih renderinga Ce Klasifikaciya zasnovana na tochci v konveyeri renderinga pri yakomu ob yekt prostir dlya imagespace vidobrazhennya vidbuvayetsya Ye bagato paralelnih program i struktur renderinga taki yak hrom Ekvalajzer i OpenSG t d Vidi Paralelizmu Kilka riznih vidiv paralelnosti mozhut buti vikoristani v procesi vizualizaciyi na riznih rivnyah Voni vklyuchayut v sebe funkcionalnij paralelizm paralelizm danih i timchasovoyi paralelizm Ci osnovni tipi mozhut dodatkovo buti ob yednani v gibridnih sistemah Funkcionalnij paralelizm Proces renderinga mozhe buti rozdilenij na bezlich riznih funkcij ale yak pravilo skladayetsya z dvoh chastin obrobka Geometriya modelyuvannya transformaciyi zadnya poverhnya vibrakuvannya vidsikannya osvitlennya i vid peretvorennya rasterizacii skan peretvorennya zatinennya g bufera porivnyannya i magazin i vidimist viznachennya U razi funkcionalnogo paralelizmu ci funkciyi zastosovuyutsya poslidovno do okremih elementiv danih Funkciyi priznachayutsya rizni bloki obrobki yak tilki blok obrobki zavershuye svoyu robotu na element danih vin posilaye element danih na nastupnij blok i otrimuye novij predmet vid jogo vgoru za techiyeyu susid Funkcionalnij paralelizm mozhe priskoriti rozrahunki kritichnih pislya togo yak konveyer renderinga zapovnenij Stupin paralelnosti dosyagnutogo proporcijna kilkosti funkcionalnih blokiv Funkcionalnij paralelizm pidhodit dlya poligoniv i vizualizaciyi poverhni dodatkiv mi goduyemo 3D geometrichni ob yekti na pochatku truboprovodu a takozh otrimati kincevi znachennya pikseliv vid kincya truboprovodu Isnuyut dva obmezhennya funkcionalnogo paralelizmu po pershe zagalna shvidkist truboprovodu obmezhuyetsya najpovilnishoyi funkciyi bloku unikayuchi vuzkih misc ye odnim z najvazhlivishih dizajn pitannya pro funkcionalnij paralelizm Inshim nedolikom funkcionalnogo paralelizmu ye te sho dostupno Paralelizm zalezhit vid chisla stupeniv v truboprovodi cherez kilkist funkcij dilitsya velmi obmezhenij funkcionalnij paralelizm ne v zmozi viroblyati duzhe visoku produktivnist Crockett 1997 Girkar 1992 Radzhagopalan 2005 Paralelizm Danih Na vidminu vid funkcionalnogo paralelizmu paralelizm danih fokusuyetsya na poshirenni danih po Grafichni dani rozdileni na kilka potokiv potim kilka elementiv danih mozhut buti obroblyatisya odnochasno na riznih blokiv obrobki i rezultati ob yednuyutsya shob stvoriti ostatochne zobrazhennya Hillis 1986 Ye dva tipi paralelizmu danih ob yekt paralelizm i paralelizm zobrazhennya ob yekt paralelizm vidbuvayetsya na stadiyi obrobki geometriyi truboprovodu renderinga paralelizm zobrazhennya vidbuvayetsya na bilsh piznij stadiyi rasterizacii konveyera renderinga paralelizm danih mozhe Perevaga dekilkoh procesoriv a takozh nadaye sebe masshtabovanih realizacij bilshist z Sistemi grafichnogo programnogo zabezpechennya vzyali cej pidhid Shob uniknuti vuzkih misc yak pravilo ob yekt i zobrazhennya paralelnist povinni buti vklyucheni razom Odnak otrimannya nalezhnogo balansu mizh nimi vazhko tak yak robochi navantazhennya na kozhnomu stadiya zalezhit vid bagatoh faktoriv takih yak SCE Timchasovij paralelizm Timchasovij paralelizm zazvichaj prijnyatoyi animaciyi dodatkiv U takogo rodu zastosuvannyah velika kilkist zobrazhen generuyutsya dlya podalshogo vidtvorennya paralelizm vihodit rozkladayuchi zagalnu zadachu vizualizaciyi v timchasovij oblasti i procesori prisvoyuyetsya kilkist kadriv dlya vizualizaciyi a takozh dani neobhidni dlya virobnictva cih kadriv Kilka tipiv paralelnosti mozhut buti vklyucheni v yedinu sistemu dlya formuvannya gibridnogo paralelnist Napriklad funkcionalni i dani paralelnosti mozhut buti ob yednani shlyahom replikaciyi vsih abo chastini z renderinga truboprovodu Temporal paralelizm mozhna takozh kombinuvati z funkcionalnimi abo danimi paralelizm Za dopomogoyu gibridnogo pidhodu sistemi mozhut viroblyati bilsh visoki harakteristiki Oglyad paralelnih algoritmiv renderinga U grafichnoyi vizualizaciyi deyaki problemi mozhut buti rasparallelen trivialnim vimagayuchi malo abo vzagali ne mizhprocesornih komunikaciyi a takozh ne spriyaye niyakih znachnih obchislyuvalnih nakladnih vitrat Taki algoritmi nazivayutsya neinteraktivnij paralelno renderinga abo prigolomshlivo paralelno renderinga Algoritmov renderinga ekspluatatorski vremennogo paralelizmu dannoj kategoriyi U takih dodatkah kadri rozpodilyayutsya sered dostupnih procesoriv odin kadr mozhe buti vineseno na odnomu procesori i kilka kadriv mozhut buti obrobleni odnochasno Rendering metodi zasnovani na promenevomu littya mozhe takozh buti realizovanij u viglyadi smushayushe paralel v zv yazku z tim sho znachennya pikseliv obchislenoyi strilyanina promeni vid kozhnogo pikselya v scenu Yaksho kozhen procesor maye shvidkij dostup do vsogo ob yekti to kozhen promin mozhe buti obroblenij nezalezhno odin vid odnogo bez mezhprocessornogo zv yazku vimagayetsya U kategoriyi interaktivnogo paralelnogo renderinga isnuyut rizni algoritmi rozpodilu nadannya roboti Napriklad sortuvannya pershij rendering rozkladaye kinceve zobrazhennya kozhen Procesor nadaye 2D plitki zobrazhennya Sortuvannya renderinga ostannij rozpadayetsya primitivi cherez vsi procesori i rekombiniruet chastkovo vidrenderenih kadriv pererozpodilyaye Sortuvannya serednogo renderinga nadayutsya primitivi v seredini konveyera renderinga Pixel rozkladannya rozdiliti pikseli kincevogo vidu rivnomirno abo shlyahom dilennya povnih pikseliv abo sub pikseliv i nemaye sortuvannya nadavani primitiviv vidbuvayetsya tak yak vsi resursi renderinga nadayut bilsh mensh tu zh tochku zoru DPlex renderinga poshiryuye povnij sho cherguyutsya kadriv dlya okremogo procesora Koks 1995 Algoritmi interaktivni paralelni renderinga yak pravilo vvesti nakladni vitrati yaki viklikani deyakimi abo vse z nastupnih prichin zv yazku mizh zavdannyami abo procesoriv zatrimki cherez nerivnomirni robochi navantazhennya dodatkovi abo nadlishkovi obchislennya pidvisheni vimogi do zberigannya dlya skopijovanih chi dopomizhnih struktur danih U paralelnih algoritmiv vizualizaciyi dani zobrazhennya i ob yekt rozdileni sered dostupnih procesori i renderinga mozhna rozglyadati yak vidobrazhennya z 3D prostoru ob yektiv v 2D zobrazhennya prostir Ce vidobrazhennya ne ye fiksovanim a zalezhit vid peretvoren modelyuvannya i pereglyadu parametri Koli obidva dani ob yekta i zobrazhennya rozdileni mizh procesorami a potim v yakijs moment v konveyeri renderinga dani povinni buti peredani mizh procesorami kozhen procesor povinen peredavati dani na i otrimuvati dani vid inshih procesoriv upravlinnya cim spilkuvannya ye odnim z osnovnih pitan dlya paralelnih algoritmiv renderinga Crockett 1997 Paralelnij rendering Problema sortuvannya Yak vzhe govorilosya ranishe konveyer renderinga skladayetsya z obrobki geometriyi i rasterizaciyi V etap obrobki geometriyi paralelnist dosyagayetsya shlyahom prisvoyennya kozhnomu procesoru pidmnozhina ob yekti v sceni Na etapi rasterizaciyi kozhen procesor priznachayetsya chastina rozrahunki pikselya Renderinga mozhna rozglyadati yak viznachennya togo yak kozhen ob yekt vplivaye na kozhen pikseliv Tak yak modelyuvannya ta pereglyad peretvorennya ye dovilnimi ob yekt mozhe vpasti v bud yakomu misci na ekrani Tomu mi mozhemo rozglyadati yak rendering zavdannya sortuvannya tobto sortuvannya ob yektiv do ekran Molnar 1994 Stiven Molnar 1994 Najchastishe sortuvannya vidbuvayetsya v troh osnovnih miscyah roztashuvannya konveyera renderinga Misce sortuvannya viznachaye algoritmi paralelnih renderinga yaksho ce maye misce pid chas obrobka geometriyi algoritm nazivayetsya svogo rodu pershim yakij pererozpodilyaye siri ob yekti do yih Parametri ekranu prostoru vidomi yaksho ce vidbuvayetsya mizh obrobkoyu geometriyi i rasterizacii algoritm sortuvannya yakij pererozpodilyaye serednij ekran kosmichnih ob yektiv yaksho vin prijmaye Misce pid chas rasterizaciyi algoritmi sortuvannya ye ostannim yakij pererozpodiliti pikseli Pershe sortuvannya Algoritm sortuvannya pershogo rozpodilyaye grafichni ob yekti dlya procesoriv pid chas geometriyi etap obrobki truboprovodu renderinga Pershij sortuvalnij algoritm vklyuchaye v sebe nastupni kroki Ob yekti priznachayutsya procesori dovilno Procesor obchislyuye ekrannij prostir obmezhuvalnoyi ramki ob yektiv pokladenih na nogo i Viznachaye yih vidpovidni plitki v prostori ekranu Ob yekti v poshirenni vidpovidnih procesoriv Vikonajte inshi rozrahunki geometriyi obrobki ta rasterizaciyi dlya ob yektiv Osnovni osoblivosti pershogo sortuvannya ce pererozpodiliti ob yekti na pochatku renderinga proces i procesori realizuvati ves konveyer renderinga dlya chastini ekranu Koli stavlennya Tesselyaciya i stupin perediskretizacii visoki vin maye nizku zv yazok vimogi Odnak algoritm sortuvannya pershij chutlivij do disbalansu navantazhennya Ob yekti mozhut grupuvatisya v regionah a takozh roboche navantazhennya mozhe vpasti na kilka procesoriv Vin takozh maye obmezhenu masshtabovanist za rahunok paralelni nakladni vitrati viklikani ob yektami nadayutsya na dekilkoh plitok Molnar 1994 Mueller 1995 Na malyunku 3 pokazanij priklad vikoristannya sortuvannya pershogo renderinga na video stini Kozhen komp yuter v videostinu nadaye chastinu pereglyad obsyagu a ostatochne zobrazhennya pidsumovuvannya zobrazhennya na monitorah yaki skladayut videostinu Serednye sortuvannya U rezhimi sortuvannya serednij algoritm ob yekti pererozpodilyayutsya v seredini konveyera renderinga tobto mizh obrobkoyu geometriyi i rasterizaciyi Do pererozpodilu ob yekti buli peretvoritsya v koordinati ekrana i gotovi do rasterizaciyi U dodatkah renderinga sortuvannya serednogo obrobka geometriyi i rasterizacii yak pravilo obroblyayutsya na riznih procesorah Dvi grupi procesora mozhut buti abo okremi nabori procesori abo podilu chasu procesori Ob yekti prisvoyuyutsya dovilno do geometriyi procesori plitki ekranu displeya priznacheni na procesori rasterizaciyi Dlya kozhnogo kadru procesori geometriyi vikonati neobhidni rozrahunki po ob yektah i klasifikuvati yih z tochki zoru yih ekrannih regioniv Pislya cogo procesori geometriya rozpodilyayut ekrannij prostir ob yektiv z yih vidpovidnim procesorom rasterizacii dlya podalshoyi vizualizaciyi Sortuvannya serednij algoritm rozglyadayetsya yak zagalnij i pryamij tomu sho pererozpodil vidbuvayetsya mizh obrobkoyu geometriyi i rasterizacii yaka ye prirodnim miscem v nadanni truboprovid Problema sortuvannya serednogo algoritmu visoki vimogi do komunikaciyi koli tesselyacii koeficiyent visokij Inshim nedolikom cogo algoritmu ye te sho vin chutlivij do disbalansu navantazhennya mizh procesorami rasterizacii yaksho ob yekti rozpodileni nerivnomirno po ploshi ekranu Molnar 1994 Williams 2003 Ostannye sortuvannya Algoritm sortuvannya ostannij rozkladayetsya vizualizovana ob yekti dovilno po vsij renderinga procesori kozhen procesor obchislyuye znachennya pikselya dlya svogo vlasnogo pidmnozhini ob yektiv a potim peredaye ci pikseli po merezhi mezhsoedineniya do kompozitinga procesoriv yaki otrimuyut zobrazhennya stvoreni inshimi procesorami a potim kompozit yih do ostatochnogo zobrazhennya Malyunok 5 U rezhimi sortuvannya ostannogo algoritmu procesori ne pracyuyut nezalezhno odin vid odnogo do samogo kincya renderinga truboprovodu sortuvannya vidkladayetsya Cej algoritm masshtabuye renderinga duzhe dobre i mensh shilni do disbalans Odnak stadiya perekompoziciyi dorogo cherez obsyag danih pikselya obroblenogo protyagom perekompoziciyi Dlya dodatkiv renderinga visokoyakisnih zobrazhen to ce mozhe privesti do duzhe visokoyi danih stavki po mezhsoedinenij merezhi Ye dva tipovih pidhodu dlya algoritmu sortuvannya ostannoyi SL rozridzhenim yakij minimizuye komunikaciya lishe poshirennya pikseliv faktichni rasterizacii SL povnij yakij magazini i peredaye povne zobrazhennya vid kozhnogo procesora Moreland 2001 Roda pershe svogo rodu serednogo i sortuvannya ostanni algoritmi shiroko prijnyati i realizovani v bagatoh dodatki i ramki Napriklad hrom yakij yavlyaye soboyu sistemu dlya interaktivnih renderinga na klasterah grafichnih robochih stancij sortuvannya pershogo i sortuvannya v minulomu mozhut buti realizovani za dopomogoyu ce Hrom Paul 2004 1 grudnya 2016 u Wayback Machine She odin vidomij karkas renderinga z vidkritim vihidnim kodom ye Ekvalajzer yakij yavlyaye soboyu PO promizhnogo sharu dlya stvorennya paralelnih program OpenGL osnovi i pidtrimuyut yak sortuvati po pershij i sortuvannya ostannij algoritm Ekvalajzer Roboche Navantazhennya Rozpodil Ye dva chasto konkuruyuchih prichini dlya vikoristannya paralelnogo renderinga masshtabuvannya produktivnosti dozvolyaye frejmi vikonuyutsya shvidshe v toj chas yak dani masshtabuvannya dozvolyaye veliki nabori danih dlya vizualizaciyi Rizni sposobi rozpodilu navantazhennya yak pravilo nadayut perevagu odnomu tipu masshtabuvannya nad inshim Tam takozh mozhut buti i inshi perevagi i nedoliki taki yak latentnist i navantazhennya nerivnomirnoyu Tri osnovni varianti primitiviv rozdayut cili kadri pikseli abo ob yekti napriklad trikutnik sitkah Rozpodil Kadriv Kozhen blok obrobki mozhe zrobiti ves kadr z inshoyi tochki zoru abo moment chasu Kadri sho formuyutsya po riznih tochok zoru mozhe polipshiti yakist zobrazhennya zi zgladzhuvannyam abo dodati efekti taki yak glibina rizkosti i vivedennya trivimirnogo displeya Takij pidhid dozvolyaye horoshe masshtabuvannya produktivnosti ale bez masshtabuvannya danih Pri vizualizaciyi poslidovnih kadriv paralelno bude lag dlya interaktivnih sesij Vidstavannya mizh priznachenogo dlya koristuvacha vvedennya i diyu vidobrazhayetsya proporcijno chislo poslidovnih kadriv vizualizuyetsya paralelno Rozpodil Pikseliv Nabori pikseliv v prostori ekranu mozhut buti rozpodileni mizh blokami obrobki v tomu sho chasto nazivayut vservie renderinga Rozdacha z cherguvannyam ryadkiv ryadkiv pikseliv zabezpechuye horoshu balansuvannya navantazhennya ale robit masshtabuvannya danih nemozhlivo Poshirennya sumizhnih 2D plitki pikseliv dozvolyaye dlya masshtabuvannya danih po vibrakuvannya danih z vidom na usichenoyi Prote ye sluzhbovi dani vid ob yektiv na kordonah Frustum tirazhuyetsya i dani povinni buti zavantazheni dinamichno v miru zmini tochki zoru Dinamichne balansuvannya navantazhennya takozh neobhidnij dlya pidtrimki masshtabuvannya produktivnosti Rozpodil ob yektiv Rozpodil ob yektiv sered blokiv obrobki chasto zgaduyutsya yak svogo rodu ostannogo renderinga Ce zabezpechuye horoshu masshtabuvannya danih i mozhe zabezpechiti garne masshtabuvannya produktivnosti ale ce vimagaye promizhnih zobrazhen z obrobki vuzliv buti alfa skombinovani dlya stvorennya kincevogo zobrazhennya Sho bilsha rozdilna zdatnist zobrazhennya nakladni vitrati alfa kompozitinga takozh zrostaye Shema balansuvannya navantazhennya takozh neobhidnij dlya pidtrimki produktivnosti nezalezhno vid umov pereglyadu Ce mozhe buti dosyagnuto za rahunok bilsh rozbittya prostoru ob yektiv i priznachennya dekilkoh shtuk v kozhen blok obrobki vipadkovim chinom odnak ce zbilshuye kilkist stadij alfa kompozitinga neobhidnih dlya stvorennya kincevogo zobrazhennya Inshij variant polyagaye v priznachenni bezperervnij blok dlya kozhnogo bloku obrobki i onovlyuvati jogo dinamichno ale ce vimagaye dinamichnogo zavantazhennya danih Gibridnij Rozpodil Rizni tipi rozpodiliv mozhut buti ob yednani v ryadi modami Kilka poslidovnih kadriv mozhut buti nadani paralelno v toj zhe chas renderinga kozhnogo z cih okremih kadriv paralelno z vikoristannyam rozpodilu pikseliv abo ob yekta Rozpodil ob yektiv mozhut sprobuvati zvesti do minimumu yih perekrittya v prostori ekranu shob zmenshiti vitrati na alfa kompozitinga abo navit vikoristovuvati rozpodil pikseliv dlya vizualizaciyi chastini prostoru ob yektiv Dodatki Z Vidkritim Vihidnim Kodom Z vidkritim vihidnim kodom paket Hrom zabezpechuye mehanizm paralelnogo renderinga dlya isnuyuchih dodatkiv Vona perehoplyuye OpenGL vikliki i obroblyaye yih yak pravilo shob vidpraviti yih na kilka blokiv renderinga vodinnya stinu displeya Ekvalajzer ye vidkritim vihidnim kodom renderinga strukturi i sistemi upravlinnya resursami dlya MultiPipe dodatkiv Ekvalajzer nadaye API dlya napisannya paralelnih masshtabovanih dodatkiv vizualizaciyi yaki nalashtovani pid chas vikonannya serverom resursiv OpenSG ye vidkritim vihidnim kodom sistema yaka zabezpechuye dereva sceni paralelni mozhlivosti renderinga osoblivo na klasterah Vona prihovuye skladnist paralelnih bagatopotochnih i grupovih zastosunkiv i pidtrimuye svogo rodu persha a takozh sortuvannya ostannoyi vizualizaciyi Paralelnij rendering duzhe vazhlivij pidhid v komp yuternij grafici ekspluatuyuchi mic kilka procesoriv bagato program taki yak v rezhimi realnogo chasu modelyuvannya animaciyi virtualna realnist foto realistichni zobrazhennya i naukove perevagu vizualizaciyi z vikoristannyam paralelnosti pidvishiti produktivnist renderinga Tam bulo bagato riznih tipiv paralelizmu i algoritmi realizovani i doslidzheni Uspishne zastosuvannya paralelnoyi vizualizaciyi neobhidno brati do skladayut minusi i plyusi cih metodiv Hocha paralelni metodi vizualizaciyi buli uspishno zastosovuyetsya v bagatoh oblastyah zastosuvannya problemi vse she zalishayutsya dlya pidvishennya masshtabovanosti balansuvannya navantazhennya zv yazok i sklad zobrazhennya cih algoritmiv i viroblyati bilshe produktivnist PrimitkiSteven Molnar Michael Cox David Ellsworth Henry Fuchs A Sorting Classification of Parallel Rendering Equalizer Parallel Rendering Lei Sun Parallel Rendering Fast Graphics LiteraturaMolnar S M Cox D Ellsworth and H Fuchs A Sorting Classification of Parallel Rendering IEEE Computer Graphics and Algorithms pages 23 32 July 1994 Jump up Molnar S M Cox D Ellsworth and H Fuchs A Sorting Classification of Parallel Rendering IEEE Computer Graphics and Algorithms pages 23 32 July 1994 Chromium Retrieved May 2009 from Cox M B 1995 Algorithms for parallel rendering Ph D dissertation Department of Computer Science Princeton University 1995 Crockett T W 1997 An Introduction to Parallel Rendering Parallel Computing 23 7 819 843 Equalizer Retrieved May 28 2009 from Girkar M B 1992 Functional parallelism theoretical foundations and implementation University of Illinois at Urbana Champaign Hillis W D S Guy L 1986 Data Parallel Algorithms Communications of the ACM December 1986 Molnar S Michael Cox David Ellsworth Henry Fuchs 1994 A Sorting Classification of Parallel Rendering IEEE Computer Graphics and Applications IEEE Computer Graphics and Applications 14 4 23 32 Moreland K W B Pavlakos C 2001 Sort last parallel rendering for viewing extremely large data sets on tile displays Paper presented at the Proceedings of the IEEE 2001 symposium on parallel and large data visualization and graphics Mueller C 1995 The sort first rendering architecture for high performance graphics Proc 1995 Symp Interactive 3D Graphics ACM SIGGRAPH 1995 75 84 Paul B 2004 Chromium for Cluster Rendering Retrieved May 20 2009 from Rajagopalan R G D Mudur S P 2005 April 2005 Functionality Distribution for Parallel Rendering Paper presented at the Parallel and Distributed Processing Symposium 2005 Proceedings 19th IEEE International