Просмотр полной версии : OpenGL vs DirectX
Memento Mori
06.08.2002, 01:39
Ради интереса поменял в настройках Ила - поставил Open GL,раньше стоял DirectX.Прорисовка ландшафта стала много четче,тормоза при полете над населенными пунктами исчезли (раньше было легкое подтормаживание,практически незаметное - картинка как бы плыла),смог поставить 2Х сглаживание - раньше,на DirectX,подтормаживало.
О себе:
P-4 1700 Mhz,P4B266,256 DDR,GeForce 3 Ti 200 64 DDR,SBLive!,WinXP.Detonator 27.70 (либо 29.42) - принципиальной разницы у этих версий нет.
Хотелось бы всвязи с этим спросить - так все-таки подо что заточен Ил - под OpenGL или под DirectX?
Поделитесь плиз. :confused:
Ил2 изначально писался и заточен под OpenGL.
Direct3D испульзуеться только через конвертер команд.
Т.е. команды на отрисовку графики идут на языке OpenGL но с помощью модуля dx8Wrap.dll переводяться в команды для Direct3D.
Следовательно в OpenGL ил2 быстрей чем в Direct3D.
Ислючение драйвера для некоторых карточек в которых поддержка OpenGL может быть сделана хуже чем поддержка Direct3D.
Для карточек NVIDIA в Ил2 OpenGL значительно быстрей Direct3D, но есть один минус...
в кабине всех 109 прицел при режиме широкого обзора довольно плохо виден в OpenGL...в остальном качество графики на вид не отличаеться.
Надеюсь эту неприятность поправят в аддонах...
Тесты На моей машине...
P3-1000/512/GF3/WinXP
В простом редакторе (настройки по умолчанию)
Максимальное качество, 1024х768х32, без сглаживания.
сразу после старта нажимаем паузу...
OpenGL ФПС - 51-52.
Direct3D ФПС - 40-41.
Разница по скорости заметна.
Кстати не забывайте что по какойто неясной причуде во всех Детонаторах по умолчанию вертикальная синхронизация включена по умолчанию в OpenGL и выключена в Direct3D...
В связи с чем Direct3D получает неслабый "бонус" по производительности у всех пользователей, которые не настраивают драйвера.
Memento Mori
06.08.2002, 03:38
Значит есть смысл летать под OpenGL?
У меня в директе еще и шрифты портятся и в меню и в игре...
На ATi Radeon 8500 разница между GL и DX тоже ок. 10 кадров. К тому же в DX не доступно "идеальное освещение ланшафта". К сожалению у ATi свое, особенное представление о стандартах, по этому в openGL присутствуют некоторые несуразности. И не только в "Ил-2". Единственная игра, которая работает на Radeon в openGL без всякой отсебятины - это quake3 (из тех что я видел, разумеется). Да и это, скорее всего, следствие патчей.
В общем, вывод пока такой: для "Ил-2" оптимальна nVidia + openGL.
А у меня под OpenGL Ил вообще не запускается. камень Р3-1000, видяха GForce2GTS при любом детонаторе... И Судя по давним постам, у многих такая же беда под OpenGL....
В чём (кроме кривых рук) проблема, если игра как раз заточена под OpenGL, а в режиме совместимости прекрасно работает под неродным DirectX?
Maximus_G
06.08.2002, 08:09
И в общую кучу вопросец: помнится, люди ругали, сильно ругали реализацию тумана на АТИ. Вроде как, он там на двойку с минусом был. Как там сейчас с этим?
А у меня под OpenGL Ил вообще не запускается. камень Р3-1000, видяха GForce2GTS при любом детонаторе... И Судя по давним постам, у многих такая же беда под OpenGL....
В чём (кроме кривых рук) проблема, если игра как раз заточена под OpenGL, а в режиме совместимости прекрасно работает под неродным DirectX?
Странно :confused: У меня тот же проц и такая же видюха, все прекрасно работает под OpenGL. Драйвер 28.32
А поподробнее? Какие драйвера, видяха чья, система?
ASUS 7700 GF-2GTS 64mb DDR DeLux drv. NVIDIA 28.32
WinMe.
И в общую кучу вопросец: помнится, люди ругали, сильно ругали реализацию тумана на АТИ. Вроде как, он там на двойку с минусом был. Как там сейчас с этим?
Так же. Хоть и не везде. Опять разное понимание стандартов. В "Ил-2" с туманом все ОК, а в Max Payne он просто отсутствует. Да и вообще с чем-то дымным, полу-прозрачным и т.п. у Радеона конкретная лабуда. Не везде, но встречается часто.
azureagony
06.08.2002, 09:49
А у меня под OpenGL Ил вообще не запускается. камень Р3-1000, видяха GForce2GTS при любом детонаторе... И Судя по давним постам, у многих такая же беда под OpenGL....
В чём (кроме кривых рук) проблема, если игра как раз заточена под OpenGL, а в режиме совместимости прекрасно работает под неродным DirectX?
а не попробывать ли тебе поставить хакнутый rts.dl?
если уже не стоит
Кстати не забывайте что по какойто неясной причуде во всех Детонаторах по умолчанию вертикальная синхронизация включена по умолчанию в OpenGL и выключена в Direct3D...
В связи с вертикальной синхронизацией имеется вопросец.
Да, отключение Vsync в OpenGL дает нехилый прирост FPS, НО... Лично у меня при этом проявляется неприятный эффект: по лобовому стеклу проскакивает хорошо заметная горизонтальная полоса. Особенно при виде "прильнуть к прицелу". С разными детонаторами. Поэтому, Vsync On. Думаю, что виновата карточка. Средненькая по нынешним меркам GF4MX440. (А может проц Cel 850 и AGP2x?)
Было ли у кого так же, но удалось побороть? Как?
azureagony
06.08.2002, 11:28
В связи с вертикальной синхронизацией имеется вопросец.
Да, отключение Vsync в OpenGL дает нехилый прирост FPS, НО... Лично у меня при этом проявляется неприятный эффект: по лобовому стеклу проскакивает хорошо заметная горизонтальная полоса. Особенно при виде "прильнуть к прицелу". С разными детонаторами. Поэтому, Vsync On. Думаю, что виновата карточка. Средненькая по нынешним меркам GF4MX440. (А может проц Cel 850 и AGP2x?)
Было ли у кого так же, но удалось побороть? Как?
Попробуй поиграть рефрешем на мониторе
Попробуй поиграть рефрешем на мониторе
Монитор 15.
У меня стоит 800х600х32бит @ 85Гц. Уменьшать частоту отказываюсь сразу - глаза дороже. Больше? Ну тогда 640х480х32 @ 100. Попробую, конечно, но IMHO, собака не тут порылась...
Еще варианты, пожалуйста.
azureagony
06.08.2002, 12:16
Монитор 15.
У меня стоит 800х600х32бит @ 85Гц. Уменьшать частоту отказываюсь сразу - глаза дороже. Больше? Ну тогда 640х480х32 @ 100. Попробую, конечно, но IMHO, собака не тут порылась...
Еще варианты, пожалуйста.
Дело в том что при включенной синрохнизации, карточка формирует изображение, "ожидая" обратного хода луча развертки т.е. кадр изображения всегда равен "кадру" (рефреша) монитора, поэтому при включенном рефреше 85 гц монитора ты никода не получилось число fps>большее рефреша монитора, при выключенной синхронизиции карточка "кидает" кадры как может, , поэтому возможна ситуация когда изображение рвется по горизонтали т.е. в кадре монитора будет пол (1/3 и т.п.) "кадра" карточки и пол "кадра" другого
(по моему этак :))
Фишка в том, что луч, который на мониторе рисует картинку, проходит за определенное время, потом возвращается. Так вот, пока он возвращается, можно обновить кадр в видеопамяти. Если ты отключаешь Vsync, то кадр обновляется когда нарисован до конца, и возможны фокусы, что ты видишь частично один, а частично следующий кадр. И я думаю, что существенной прибавки всеравно не даст, разве то у тебя FPS > 85..
azureagony
06.08.2002, 12:34
Фишка в том, что луч, который на мониторе рисует картинку, проходит за определенное время, потом возвращается. Так вот, пока он возвращается, можно обновить кадр в видеопамяти. Если ты отключаешь Vsync, то кадр обновляется когда нарисован до конца, и возможны фокусы, что ты видишь частично один, а частично следующий кадр. И я думаю, что существенной прибавки всеравно не даст, разве то у тебя FPS > 85..
Прибавка все равно будет и местами занчительно , если бы Ил всегда давал число FPS четное числу разверки типа FPS 25, Refresh 100, т.е. тогда да нет разницы между синронизацией и без синронизции, а так карточка постоянно простаивает на "нечетных" кадрах, правда можно увеличить число прередеренных кадров (для NVidia <=3), но тогда пояаиться лаг между рекацией на управление и "экраном" (будешь сильно пьяным)
Еще маленькое уточнение. Полоса заметна именно на лобовом стекле в контуре вращающегося винта - т.е. при прорисовке его работы. За переплетом лобового стекла полосы нет.
Дома обязательно проведу эксперименты с частотой обновления.
Да, по теме. У меня OGL. Директ работаетв Иле медленнее - причина здесь уже описана.
Хотелось бы всвязи с этим спросить - так все-таки подо что заточен Ил - под OpenGL или под DirectX?
Поделитесь плиз. :confused:
А я вот пересел на directX по нужде. Т.к. во время полета частенько переключаюсь в другие програмки по alt-tab и в openGL часто компьютер перезагружается при переключении, а вот в directX режиме перезагрузок небыло.
Конфигурация - winXP, athlon 1000, gf3-ti200
Memento Mori
06.08.2002, 23:10
Вирпилы - огромное спасибо по сабжу.Разъяснили...
Полезно бывает на форуме вопросец в кассу задать. :D
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot