Добро пожаловать на форум, Гость!
Войдите или зарегистрируйтесь!
Имя пользователя:   Пароль:  
Запомнить меня 




Начать новую тему Ответить на тему   [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 05 июл 2010, 16:40 
Бородатый сис
Аватар пользователя
Статус: Не в сети

GeoIP: Kyrgyzstan

Сообщений: 2916
Откуда: Из серверной
Зарегистрирован: 03 мар 2010, 15:12
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
ОС: RHEL 6.7
Предисловие.
В этой статье будет протестирована производительность 3D (будет использоваться бенчмарк "Unigine Heaven 2.0") под различными ОС и различными API. Думаю, мне удастся развенчать мифы некоторых пользователей Windows относительно убогости 3D графики в Linux, а также мифы некоторых владельцев Nvidia относительно убогости карт от ATI, и, в частности, "кривых проприетарных драйверов под Linux". Что еще пообещаю в статье, так это включение поддержки тесселяции в Linux. Насколько картинка с тесселяцией отличается от картинки без оной - увидите ниже.

Операционные системы, которые будут протестированы: Ubuntu 10.04 x86_64, Archlinux x86_64, Windows XP x86.
Тестовая конфигурация несколько скромная:
    Процессор: AMD Athlon 7750 Dual-Core Processor 3100MHz.
    Оперативная память: 2Gb DDR-II 1066MHz.
    Видеоплата: ATI Radeon HD 4770 512Mb.
    Проприетарные драйвера от ATI - версия 10.4, как уверяет Catalyst Control Center - версия OpenGL - 3.2.9756. DirectX версии 9.
Во время всех тестов были отключены визуальные эффекты (compiz), а также выставлена политика процессора - performance (на всякий случай).

Не будет протестирована, к сожалению, работа в DirectX10, и DirectX11.

Начинаем.

Используемые настройки:
    Mode: 1440x900 2xAA fullscreen
    Shaders: high
    Textures: high
    Filter: trilinear
    Anisotropy: 4x
    Ambient Occlusion: enabled
    Refraction: disabled
    Volumetric: enabled
    Replication: disabled
    Tessellation: disabled

Пару слов о настройках - опция Refraction (преломление) на OpenGL выдавала некоторые артефакты - в некоторых моментах получались какие-то неправильные отражения, было решено выключить эту опцию. Также поступил и с Replication - непонятные артефакты с тенями и освещением в некоторых моментах. Что касается тесселяции - тут не стал включать - хотелось получить более-менее играбельное FPS. А в остальном конфигурация очень даже достойная и картинка радует глаз.

API: OpenGL
ОС: Windows XP.
Первой в действии посмотрим Windows XP.
    FPS: 26.7
    Scores: 674
    Min FPS: 10.7
    Max FPS: 43.8


Детали системы:
    Binary: Windows 32bit Visual C++ 1500 Release Mar 7 2010
    Operating system: Windows XP (build 2600, Service Pack 3) 32bit
    CPU model: AMD Athlon(tm) 7750 Dual-Core Processor
    CPU flags: 3108MHz MMX+ 3DNow!+ SSE SSE2 SSE3 SSE4A HTT
    GPU model: ATI Radeon HD 4770 6.14.10.7070 512Mb

Довольно неплохой результат, но пока еще его не с чем сравнивать. Просадки до 10-15 фпс наблюдались при смене сцен.
Насколько красива графика можно судить по скриншотам:
Изображение
Изображение
Изображение

Изображение
Изображение
Изображение


API: DirectX9
ОС: Windows XP.
FPS: 36.1
Scores: 909
Min FPS: 21.1
Max FPS: 74.9


Ну что можно сказать? Результат лучше на 26%. Насколько отличается картинка, можно посмотреть на скриншотах.

В этом тесте дополнительно была включена опция Refraction, правда, опытным путем было выяснено, что на количество фпс она не влияет - хотя с включенной опцией далекие объекты выглядят несколько более реалистично.

Изображение
Изображение
Изображение

Изображение
Изображение
Изображение


Ну что ж, время линукса. Потянет ли он такую графику или только в виде слайдшоу - сейчас узнаем.

API: OpenGL
ОС: Ubuntu 10.04 x86_64.
В этом тесте использовалась 32х битная версия бенчмарка - в ней результат был на пару фпс больше.
FPS: 25.1
Scores: 633
Min FPS: 8.8
Max FPS: 41.4


Конечно, сильно проигрывает DirectX9, но практически равно тесту OpenGL под Windows. Я считаю, что результат более, чем достойный.
От Ubuntu, честно, ожидал большего результата. Исходил из всеми любимого glxgears - в арче на HD 4770 он выдавал мне порядка 28-32 тысяч fps за 5 секунд, в убунте же - 63-67 тысяч за 5 секунд! Но результат Unigine от этого не поменялся.

Детали системы:

    Binary: Linux 32bit GCC 4.3.2 Release Mar 21 2010
    Operating system: Linux 2.6.32-21-generic x86_64
    CPU model: AMD Athlon(tm) 7750 Dual-Core Processor
    CPU flags: 3107MHz MMX+ 3DNow!+ SSE SSE2 SSE3 SSE4A HTT
    GPU model: ATI Radeon HD 4770 3.2.9756 Compatibility Profile Context 512Mb

Скриншоты:
Изображение
Изображение
Изображение

Изображение
Изображение
Изображение


Переходим к последнему "конкурсанту" - Archlinux.

API: OpenGL
ОС: Archlinux x86_64.

Использовалась 64x битная версия бенчмарка - 32х битная отказалась работать :(. Хотя в той же убунте 32х битная версия прекрасно работала.
FPS: 26.0
Scores: 654
Min FPS: 16.3
Max FPS: 44.9



Результат чуть лучше чем в Ubuntu, но немного хуже DirectX в Windows. Порадовало, что минимальное fps, как и максимальное, превысило результат Windows с OpenGL.
Детали системы:
    Binary: Linux 64bit GCC 4.3.2 Release Mar 21 2010
    Operating system: Linux 2.6.33-bfs x86_64
    CPU model: AMD Athlon(tm) 7750 Dual-Core Processor
    CPU flags: 3107MHz MMX+ 3DNow!+ SSE SSE2 SSE3 SSE4A HTT
    GPU model: ATI Radeon HD 4770 3.2.9756 Compatibility Profile Context 512Mb


Скриншоты:
Изображение
Изображение
Изображение

Изображение
Изображение
Изображение



Подведем итоги:
Среднее количество кадров в секунду (FPS).
Изображение


практически одинакова во всех системах. Да, DirectX вырывается вперед, но совсем некритично. Картинка практически одинакова, производительность тоже. Только одну ОС нам предлагают купить, а другую можно получить бесплатно. Постепенно в Linux 3D набирает обороты, и я думаю, это вопрос времени - когда желтый и зеленый столбец сравнятся с оранжевым, и быть может, перегонят его :). Все больше игр создается под Linux, что, несомненно, радует. Было также замечено, что под Windows процессор нагружался гораздо активнее. Под Linux предел - 60% на каждое ядро.

В статье тестировался движок Unigine. Я был поражен, насколько хорошая графика существует под Linux. Что ж, будем ждать игр и других приложений на этом замечательном движке. Также советую заглянуть на их сайт http://www.unigine.com/. Там можно найти еще несколько красивых демок, ознакомиться с разрабатываемыми проектами и ценами на него.

Небольшое обращение к читателю: хотелось бы узнать результаты аналогичной моей системе, только с графическим адаптером от Nvidia. Аналогичной - т.е. примерно одинаковой в цене. Видеокарта стоимостью 3100-3700 р. (я брал свою за ~3200). Это поможет выяснить, действительно ли, как некоторые говорят, закрытые драйвера от ATI под Linux оставляют желать лучшего. Да и потом, это просто интересно :).

Ну и на десерт:

Тесселяция.

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

Включаем тесселяцию в Linux.
Сделать это проще простого, надо отредактировать конфигурационный файл heaven_2.0.cfg.

Код:
nano /path/to/Unigine_Heaven/data/heaven_2.0.cfg

Находим строку:
Код:
<item name="gl_render_use_amd_vertex_shader_tessellator" type="int">1</item>

и вместо "0" (отключено) ставим "1".

Осталось протестировать Unigine Heaven на Archlinux с включенной тесселяцией. Посмотрим, что из этого выйдет.
API: OpenGL
ОС: Archlinux x86_64. Tessellation - normal.

FPS: 8.7
Scores: 220
Min FPS: 2.4
Max FPS: 35.6


Выпрямляют статистику сцены без тесселяции (панорамы и т.д.) - сцены, где камера достаточно далека от объекта и тесселяция к нему не применяется. А так FPS в пределах 3-8. Ниже можно наблюдать скриншоты:
Изображение
Изображение
Изображение

Изображение
Изображение


Детализация просто отличная. Напоследок, 3 скриншота с "экстремальной" тесселяцией.
Изображение
Изображение
Изображение


Оригинал


Я не злопамятный, я просто часто ковыряю логи
Изображение


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ 1 сообщение ] 
   Похожие темы   Автор   Ответов   Просмотров   Последнее сообщение 
Перенесенная ^_^

в форуме Linux

root

3

38

02 мар 2010, 16:15

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Как получить доступ к компу с инета, если он за НАТом?

[ На страницу: 1, 2 ]

в форуме Сетевые технологии

cepbl4

11

8695

21 апр 2011, 08:54

Gen1us2k Перейти к последнему сообщению

Нет новых непрочитанных сообщений в этой теме Выпуск PyPy 2.6, реализации Python, написанной на языке P...

в форуме Новости *nix

[Ботя]

0

368

02 июн 2015, 00:30

Гость Перейти к последнему сообщению



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Собрано Raven. Русская поддержка phpBB
phpBB SEO