Настоящий специалист показывает знания, ну а остальные ссылаются на свои дипломы. Врачи у нас тоже все с дипломами, да пойди и найди хорошего. Фраза "вы хотите сказать" - дешевый приём в дискуссии, настоящему профи некрасиво пользоваться такими вещами в общении. Ну а уменьшение объектов на сцене действительно снижает нагрузку на процессор. Конечно современные приложения должны использовать видеокарту не только для рендеринга и спецэффектов ( привет майнингу ), но ПВ - это старая игра, ей такие подвиги не под силу.
+ Ответить в теме
Показано с 41 по 50 из 122
-
14.11.2017 21:24 #41
- Регистрация
- 23.05.2017
- Сообщений
- 3
-
14.11.2017 21:47 #42
Сейчас обратил внимание на частоту. Драйвер видеокарты подстраивается под приложение.
В момент инициализации устройства (когда только запускаем, или активируем окно игры) частота ядра автоматически устанавливается в хаотичном порядке: то 350Мгц, то 709, максимум видел 1100Мгц. Но максимальных 1400Мгц не достигает. Подозреваю, что из-за этого и процент загруженности графического процессора каждый раз разнится (20-40%). Мне самому интересно почему так происходит, пока могу лишь предположить, что связано это с многоядерным графическим процессором в современных видеокартах. Что и графическое ядро он грузит одно из тысяч имеющихся. Скрин я выкладывал дабы показать, что даже без боевых действий ГП грузится, а на ГВГ видеокарта может не справляться. Замечал разницу когда играл на ноутбуке со встроенной Intel4000 и дескретной GTX540M. Особенно тяжко было встроенке во время анимаций скилов шаманов. Со слабой картой помимо того, что не будет справляться процессор, так ещё и видеокарта добавит потери кадров.
Очень грамотный и близкий мне комментарий. Сам когда-то давно, ещё в школьные годы, занимался разработкой трёхмерных приложений с использованием DirectX 7 SDK. Самостоятельно пытался изобретать колесо... например mip-mapping с различными входными параметрами. Сейчас это вызывает только улыбку, ведь всё уже давно реализовано, да такими методами, о которых тогда даже не догадывались.
Изначально движок игры был написан на устаревшем уже в то время DirectX 8.1 (библиотеки 2001-2002 года!).
Максимальные переделки движка заключаются в транслите некоторых функций на DirectX 9, что безусловно даёт прирост, но только на уровне работы типовых механизмов. На пару кадров стало больше выдавать, но основным тормозным моментом на мой взгляд является реализация внешек. Такое чувство, что просчёты координат вершин не повешены на шейдеры. Правда я не программировал под более современные DirectX и могу ошибаться.
Что касается перехода на 9 версию, то это как мёртвому припарка. На сколько я читал работу с многопотоком оптимизировали только в DirectX11. Пока они не перепишут движок под него (что для них практически непосильная задача, проще новую игру написать) останется только ждать прорыва в производительности новых ЦП на одно ядро.
P.S. Серёга я тебя удалил с друзей, не признал ник, когда искал место в списке для новых знакомств!!! =( По возможности надо будет добавиться, если конечно у тебя нет грустных новостей, слухи о которых посетили меня недавно.
P.P.S. Takimi22 как удалось вставить изображение в подпись???)))
-
14.11.2017 22:41 #43
Объясню грубо на пальцах. Для спецэффектов пишутся шейдеры - программы, исполняемые для вершинной и пиксельной обработки. В ранних шейдерных моделях в dx8, например, размер пиксельного шейдера был сильно ограничен: в версии 1.1 вроде 12 инструкциям, в версии 1.4 - 22 или 32 инструкции. В общем, что-то около того. И поэтому некоторые спецэффекты приходилось разбивать на несколько проходов. Теперь представим, что переписываем программу с dx8 на dx9, а шейдеры под новую шейдерную модель не переписываем. Получится, что в новой программе будет столько же много проходов с небольшими шейдерами, как и на dx8. И в чем будет проблема? А в том, что исполняемая центральным процессором программа будет последовательно отправлять на видеокарту кучу этих мелких шейдеров, которые будут нагружать только небольшую часть унифицированных ядер. Разрулить эту проблему, например, на DirectX11 весьма просто. Под DirectX9 посложнее. Видимо, поэтому китайцы и не стали себя утруждать. То есть проблема в том, что видеокарта в игре отчасти работает последовательно, и близко не используя все свои параллельные ресурсы. Так что, надеюсь, ответ на ваш вопрос уже понятен? Но сформулирую его. Если игра не использует все 1152 ядер GTX 1050Ti, то разумеется не сможет использовать и все 3584 ядер GTX1080Ti. И если когда-нибудь выйдет игровая Volta, то и на ней серьезно прироста fps для игры ожидать не стоит. Поскольку код игры не рассчитан на современные графические архитектуры.
Вообще-то я обычно таким не грешу. Но просто у меня хоть какие-то знания и навыки есть. А все те, кто на этом форуме со мной спорят на подобные темы, зачастую не имеют вообще никаких серьезных знаний и навыков программирования. Вот, например, написал ли мой оппонент хоть одно более или менее серьезное 3D приложение под DirectX или OpenGL? Подозреваю, что даже самого простого не написал. А чтобы понять корень возникающих проблем, нужно знать как реализуются технологии на практике. И вот не имея никаких знаний и навыков в реализации, люди начинают спорить. И иногда это подбешивает.
С помощью символов перехода к родительскому каталогу "..":
[PW_USERBAR]/../forums/attachment.php?attachmentid=210010&d=1508594887[/PW_USERBAR]
В результате вставляется картина из альбома форума с адресом
https://pw.mail.ru/forums/attachment.php?attachmentid=210010&d=1508594887
-
15.11.2017 15:30 #44
Ну то есть вы тоже пришли к выводу что игра не получает прирост от мощных видеокарт и встроенной графики достаточно? Ведь игра кривая и это итак было ясно?!
Читал статью про вызовы отрисовки, они нагружают центральный процессор. Тут таких вызовов, по вашим же словам, очень много, значит и более мощный проц сможет отправить на видеокарту больше этих мелких вызовов? Игра нагружает видеокарту очень коряво, но быстрый проц делает это лучше медленного.
Отключаем эффекты - процессору не нужно отправлять draw calls на них, нагрузка на ядро снижается ( а она, напомню, постоянно на 100% ), фпс возрастает.
"Одно из тысяч имеющихся" если сопоставить это со словами Takumi22 о последовательной нагрузке получится что слабая видеокарта на высокой тактовой частоте окажется лучше чем топовая на заниженной, при равной архитектуре. Может, если заставить карту не снижать частоту, станет лучше?Последний раз редактировалось Chris_Red; 15.11.2017 в 17:22.
-
15.11.2017 17:19 #45
- Регистрация
- 15.11.2017
- Сообщений
- 1
Как много информации....)))
А я пропустил или просто ТС не озвучил сумму которую он готов потратить на ЦП (и сопутствующее железо: мать, охлаждение, оперативка)?
Неужели никому в голову не пришло, что разное железо стоит по разному? Или ТС одинаково спокойно может купить ЦП как за 2.000 р. так и за 500000 р.?
ТС, сколько готов потратить на процессор и необходимые к нему материнку, охлаждение, память?
(HD/SSD, видеокарту(ы) в расчёт не брать так как они отдельной строкой ибо стоит жесткий копейки по сравнению с памятью и видяшкой, с охлаждением ещё проще - воспользуешься затычкой спалишь к чертям всё, или утопишь)
Если денег много, бери один из последних i7, а дальше всё по максимуму и желательно по два раза(!!!) если денег не очень, то ограничься предтоповым или топовым i5 (цена вопроса ЦП до 25 000 р.), но в зависимости от платформы стоимость мамы может очень сильно кол*****ся от 3000 до 17 000 (примерно).
Дальше вода и можно не читать!
На оперативке экономить не советовал бы, ибо если будешь брать топовый камень, то и память лучше взять от 16 гб и с частотой повыше, но в крайности в виде высоких профилей радиаторов с подсветкой и голограммой производителя и т.д. как некоторые любят впадать не стит.)) Это позволит забыть о проблемах с памятью на весь срок службы ЦП, а порой память купленная в разное время отказывается работать вместе из-за разницы в чипах, а вернуть в магазин её ой, как не просто!( а так 16 гб с запасом на года и почти гарантированно совместимые.)
HD можно взять за 2 000 р. на время и потом легко заменить его на большего объёма, а саму систему перекинуть на SSD (под систему однозначно его).
Про охлаждение должно быть ясно. но всё же... зачастую боксовая вертушка справляется, но под нагрузкой не исключены сбои, а если интересует система для работ под нагрузками, то однозначно хорошее охлаждение, а "затычку" придётся выкинуть. Уж лучше сразу потратится на стоящее охлаждение. а эти "злосчастные" 900 р. стоимости затычки потратить на HD, который можно продолжать использовать даже при покупке пары SSD.)
И последнее, НЕ ЭКОНОМЬ на БП!!! ИМХО лучше взять хороший, с честными Ваттами и, соответственно, сертификатом, чем потом покупать новый ЦП и мать из-за того. что БП "скаканул"/сгорел и утащил за собой их, а в дешёвых БП и напряжение скачет и при заявленных 500Вт он выдаёт дай Бог 400, а жрёт все 500, а то и больше.) Оно вроде незаметно. но это пока ПК не сгорит.)
-
15.11.2017 17:25 #46
Нет, к именно такому выводу я не приходила. Я не писала, что на любом встроенном графическом процессоре игра будет исполняться так же, как на той же GTX 1080Ti. Разумеется, для какого-то простенького встроенного графического процессора игра, возможно, будет по полной нагружать графическое устройство, и GTX 1080Ti существенно выиграет. А на каком-то более новом встроенном графическом процессоре игра по полной устройство не нагрузит, и разница с GTX1080 Ti будет не особо заметна. То есть я хотела сказать только то, что относительно мощные по современным понятиям видеокарты (не обязательно топовые) игрой и близко не будут нагружаться по полной.
И также я не писала, что сейчас не нужен быстрый центральный процессор. Нужен. Сейчас это просто факт. Но точно сказать, по каким именно причинам он так загружается, я не могу. Свечку над китайскими программистами не держала. Связано это, на мой взгляд, с неудачной шейдреной реализацией некоторых эффектов. Но точно описать причины нынешней загрузки процессора, конечно, я не могу. Тут могу только гадать. Например, вдруг там постоянно гоняются текстуры из оперативной в видеопамять с помощь обычного rep movs. Или еще какой бред. Но изначально я писала про другое. Про то, что для этой игры не нужна многопоточность. Потому что, если грамотно использовать ядра и память видеокарты, то рендеринг не будет сильно нагружать центральный процессор. И для остальных задач игры одного потока на центральном процессоре будет достаточно. А то, что для остальных задач одного потока хватает, видно при включении шаблона "Отображение только важных игроков".
-
15.11.2017 19:10 #47
Да я это и имел ввиду. Предпочтительней будет видеокарта у которой максимальная производительность на одно ядро. Обычно ею обладают карты высокого ценового сегмента за счёт отбора партий чипов со способностью работать на наиболее высоких частотах. Но надо понимать, что для их стабильной работы требуется и хорошая стабильная система питания. А для системы питания охлаждение... Так с миру по нитке и набирается финальная стоимость устройства. Там ещё куча маркетинговых уловок с заводским разгоном. Это как с процессорами. Есть люди, которые скупают разгоняемые процессоры, отбирают из них самые производительные, иногда даже скальпируют, а затем продают за дорого самые вкусные экземпляры. Остальное выбрасывается обратно на рынок, например в интернет магазины.
К сожалению не так просто заставить работать карту постоянно на максимальных частотах. Даже если вшить информацию в биос, то это приведёт к постоянной работе в высоких температурах, что не есть хорошо. Пускай лучше карта самостоятельно оценивает нагрузку и управляет частотами. Я бы посоветовал просто взять карту слегка про запас, как писал выше: к примеру GTX1060.
Я знаю, что ты любишь досконально изучать вопросы работы различных алгоритмов (это я вспомнил про кодирование видео), поэтому постараюсь в двух словах вспомнить и описать как это работает (то, что ты выше называешь вызовом отрисовки) внутри программы. Грубо говоря это совокупность процедур в которых происходит множество операций. Их можно разделить на несколько этапов:
1. Очистка буфера подготавливаемого (нового) кадра.
2. Построение в памяти матриц трёхмерного игрового пространства с учётом манипуляций с объектами (вершинами, векторами, полигонами, пикселями текстур, вершинами текстурных карт и прочей лабудой) относительно времени.
3. Рисование нового результата вычислений в подготавливаемый буфер кадра.
4. Подмена буферного кадра на кадр выводимый на экран.
5. Сбор, анализ, загрузка и вычисление новой (в том числе корректирующей, например очень интересующей нас Frames Per Second) информации для построения следующего кадра.
Если 1, 3 и 4 пункты однозначно выполняет сама видеокарта и очень быстро, то 2 и 5 пункты при кривом написании могут создавать (что в принципе и происходит) очень серьёзные проблемы, поскольку именно там закладываются те самые шейдерные микропрограммы и очень большой объём информации обрабатывает центральный процессор. Как описывает выше Takumi22 в этих пунктах выполняется слишком много циклических обращений к видеокарте, а это множество лишних логических операций ЦП. Именно их по хорошему нужно бы переписать под многопоток, раскидав вычисления по наименее загруженным ядрам ГП и ЦП. Судя по многочисленным красочным эффектам в ПВ это будет большой и кропотливый труд, за который разработчики врятли когда-либо возьмутся. Да поправит меня Takumi22, если что не правильно понимаю, или поясняю. В общем это нужно всю программную часть игры перелопатить.
-
15.11.2017 20:29 #48
- Регистрация
- 25.08.2016
- Сообщений
- 220
Хватит уже лохматить бабушку... Купите Core i3-6100 Skylake и не так недорого как ТОПи7, а в ПВ только совсем чуть уступит топовому и7. И выкиньте свои процы с частотой 2.4 Ггц.
Цена вопроса около 8к рублей.
п.с. если совсем древняя видяха, желательно купить новую бюджетную видяху ГТХ1050. А у кого денег много - берите всё по топу и не парьтесь.Последний раз редактировалось zoobik771; 15.11.2017 в 20:34.
-
15.11.2017 20:35 #49
-
15.11.2017 20:41 #50
- Регистрация
- 25.08.2016
- Сообщений
- 220
[QUOTE=Chris_Red;11462833]Pentium G4620 то же самое, но дешевле) Если и брать i3, то i3 7350K и гнать под 5ггц)
Да i3 7350K самое то, только чуть дороже на 3к.Последний раз редактировалось zoobik771; 15.11.2017 в 20:45.