Было проведено сравнительное исследование скорости генерации и построения растрового изображения трехмерной сцены (рис. 1). Для исследования было выбрано три компьютера со следующими характеристиками:
1 – Intel® Core™2 DUO CPU E7500 @ 2.93GHz, 2 ядра, ОЗУ 2 ГБ, видеоадаптер NVIDIA GeForce GT 240 с объемом видеопамяти 512 МБ;
2 – Intel® Core™ i7-3770K CPU @ 3.50GHz, 4 ядра, ОЗУ 8 ГБ, видеоадаптер NVIDIA GeForce GT 240 с объемом видеопамяти 512 МБ;
3 – Intel® Core™ i5-3230M CPU @ 2.60GHz, 2 ядра, ОЗУ 8 ГБ, видеоадаптер Intel® HD Graphics 4000 с объемом видеопамяти 2176 МБ.
Увеличение скорости генерации и вывода растрового изображения может быть достигнуто двумя путями. Во-первых, применением многопоточности при вычислениях, тем самым можно обрабатывать несколько геометрических тел одновременно. Во-вторых, применением более быстрых технологий вывода уже готового растрового изображения на экран.
Для исследования влияния применения многопоточности был реализован последовательный и параллельный (с двумя, шестью, десятью задачами) алгоритм на трех компьютерах (рис. 2).
Изначально приложение разрабатывалось с помощью технологии .NET и Windows Forms, поэтому поддержка рисования фигур и изображений осуществлялась компонентой GDI/GDI+. Поэтому одним из способов увеличения скорости вывода изображения можно выбрать применение новой технологии Windows Presentation Foundation (WPF) (рис. 3).
Графической технологией, лежащей в основе WPF, является DirectX, в отличие от Windows Forms, где используется GDI/GDI+. Производительность WPF выше, чем у GDI+ за счет использования аппаратного ускорения графики через DirectX. Это реализуется благодаря тому, что DirectX передает как можно больше работы узлу обработки графики (Graphics Processing Unit – GPU), который представляет собой отдельный процессор на видеокарте [1].
Рис. 1. Трехмерная сцена, состоящая из десяти тел
Рис. 2. Технологии проведения расчетов
Результаты исследований показывают, что самым медленным по времени является вариант проведения последовательных вычислений и вывод с помощью технологий GDI/GDI+, а самым быстрым – параллельное выполнение 10 задач с технологией вывода WPF. Поэтому на компьютере 1 можно увеличить скорость генерации и вывода растрового изображения в 2,14 раза, на компьютере 2 – в 3,36 раза, на компьютере 3 – 2,41 раза.
Рис. 3. Технологии вывода изображения
Рис. 4. Комбинирование технологий расчета и вывода
Известно, что современная научная компьютерная графика дает возможность проводить вычислительные эксперименты с наглядным представлением их результатов [1]. Часто это представление носит динамический характер [2–4]. Применение технологий, описанных в данной статье, позволит повысить реалистичность изображений без существенных временных затрат.