Перед прочтением прошу сильно не ругать если что это моя первая тема тут
А вам не кажется, что намного проще закомментарить строчку SetThreadAffinityMask (GetCurrentThread(),1); ?
Но только учтите, что многоядерности от этого не появится (для этого нужно переписывать код на предмет распараллеливания операций по отдельным потокам), только анимации и видео будут проигрываться тем быстрее, чем больше ядер у процессора. Начиная от двукратного прироста, четверократного для четырехъядерного и так далее в линейной прогрессии.
Ps. В смысле возрастет не FPS, а именно скорость их проигрывания, то есть секундная анимация будет отыгрываться за полсекунды на двуядерном проце, четверть секунды на четырехъядерном и так далее.
Stalker_Monolit, многоядерность будет но совсем не та что нужна
Снижение time_factor до 0.5 приводит в ощутимому увеличению FPS, что какбэ намекает, что даже в LA с её ЗПподобной "многоядерностью" на одном ядре висит не только графон, но и куча всего типа логики, физики, звука и анимаций (их апдейт замедляется и у ядра остаётся больше времени на отрисовку графонов - вырастает FPS).
Если оставить логику, физику, скрипты и анимации на одном ядре, а рендер почти полностью перенести на другое, то производительность должна улучшиться.
Stalker_Monolit, если б было все так просто то уже давным давно бы сделали многопоточку нормальную. Тут слишком многое нужно переделывать в движке. Просто так прописать что вот это должно обсчитываться на этом ядре не получится т.к. потоки должны взаимодействовать друг с другом, ожидать друг друга на блокировках и т.д. . Задача хоть и подсильная но слишком нереально геморойная. Проще пользуйся тем что есть, компы из года в год только растут мощностью поэтому теребонькать на что-то ненужное(многопоточность) бессмысленно, вот 64 битка имеет смысл в игре а многоядерность не особо.К примеру мой комп довольно легко тащит LA(сглаживания не максимальные только и дальность травки).
Stalker_Monolit,
Плавают, более того, лежат в отдельной теме. http://www.gameru.net/forum/index.php?showtopic=60320&pid=1553432&st=40&#entry1553432
Заметил что сталкер использует расширение функциональности Boost который по копирайту
Stalker_Monolit, думаешь после обновления вызовы потоков, тайминги и корни сами вырастут из воздуха?
А и обнови, кстати. Хорошая задачка для начала.
Совсем нет. Поломается, но не прямо уж все Вот луабинд обновить...
Кстати, в ЛА-исходниках не новый разве буст?
Вот luabind как раз и поломается. Он кажется зависит от темплейта удаленного в последних версиях
По сути boost используется только luabind'ом
Я обновил boost, только теперь сам не знаю зачем
Разве что опыт
-StalkMen-, многоядерность поперла?
Теперь луабинд на очереди
Мне вообще кажется, что надо boost вырезать из luabind'а. А вместо него использовать плюшки C++0x.
Что-то вроде такого
Stalker_Monolit,
Обычно нет, мой ДеБуг, это Mixed (Копия Release без оптимизации)
Stalker_Monolit,
Приоритет - выше высокого.
Сегодня курил код, нашел механизм работы с потоками. Точнее, я его и до этого видел, но сегодня я прям отладчиком на него попал
Многопоточный рендер там точно есть(ему выделен 1 дополнительный поток, помимо основного).
Даже есть команда для мнгп. окклуюжена
Tron,
Три(основной+MT-details+MT-HOM) это разве много?
Tron,
Tron,
не совсем так однако,
Основной поток плодит работы, да.
Во время рендеринга эти работы обрабатываются вторым потоком. Но из-за хитро*, есть вероятность, что эти работы будут просчитаны в том же потоке.
-StalkMen-, я вот не понимаю последние две строчки
Tron,
Да я тоже себе мозг этим сломал.
А все понял, картина маслом.
Да походу ты прав
Вообще-то все немного не так или совсем не так
Система простая: основной поток рендерит текущий кадр, во втором обсчитываются данные для следующего.
Второй поток не может не успеть - там же критические секции поставлены. Это значит, что он вообще не работал в этот раз. Без этой проверки будут тупо пропуски обсчета.
-StalkMen-, заинтересовал, стяну завтра исходники посмотреть. Но вообще по фрагментам, которые ты привёл - там классическая задача поставщик- потребитель, а ты усложняешь )
Это ЗП?
Neo][,
Я что, я ничего
Да, ЗП.
https://images.gameru.net/image/f1442404cc.png.html
Немного изменил для наглядности:
https://images.gameru.net/image/d906ef106f.png.html
Neo][,
Хорошая картинка. Профилировщик?
Но а это ->
https://images.gameru.net/image/9689bd517a.png.html
Если конечно у меня еще правильно работает... я сам еще не разобрался... библиотека без документации и примеров
Tron,
нууу, на мое скромное имхо это не совсем альтернатива промышленной разработке, а точнее совсем не альтернатива. вот если бы нечто похожее было запилено с сопоставимым качеством картинки, с юнит тестами, обширным коммьюнити и подтверждено многими реально выпущенными проектами, использующими эту технологию, что-то на что можно было бы ориентироваться как на стандарт де-факто, вот тогда другое дело
Neo][,
Neo][,
Хорошо, вопрос, будет ли работать, если сделать так -
Всем привет! Накопал немного инфы пока был в отключке)))
Вот хочу спросить у опытных людей Атрибут потока МТА при компиляции подымает производительность?
К стате с наступающим новым годом)))
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)