Неофициальный патч Thief v1.19+

Автор MoroseTroll, 25 сентября 2012 21:15:16

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

MoroseTroll

Цитата: lavinic49 от 12 октября 2012 01:51:09Приведённые картинки более глубоки. Из них видно ещё и то, что 1.18 процессор для других сам не отдаёт, исходя из посылки, что пока он запущен - он самый важный. И 100% загрузки одного ядра будут иметь место ВСЕГДА, даже на суперкомпьютере...
1.19 отдаёт хоть какую-то часть ненужных ресурсов. Очевидно, что на старте 1.19 проверяет параметры вычислителя и в соответствии с этим, определяет потребность в ресурсах для комфортной работы программы. Потому относительно круглые проценты общей загрузки на обеих картинках (с двумя и четырьмя ядрами).
Боюсь, на самом деле всё куда прозаичнее :). Поведение "старого" Вора на твоём компьютере, вполне возможно, объясняется довольно просто: exe-файлу, скорее всего, поставили атрибут "запускаться на одном потоке". Отсюда и результат в виде одного полностью занятого ядра. В случае с "новым" Вором этого атрибута просто нет, ибо в его коде убраны участки, нормально работающие на одном потоке, но глючащие на нескольких. Отсюда и видимость многопоточности из-за частичной занятости двух ядер. Свою лепту в это вносит ещё и D3D9, используемый "новым" Вором, драйверы под который более-менее распараллелены уже много лет назад. Само собой, ни о каком распараллеливании D3D6, используемом "старым" Вором, речи никогда не шло, ибо в те времена (1998) не было никаких ни многоядерных (Athlon 64 X2 & Pentium D, 2005), ни даже многопоточных процессоров (Pentium 4 HTT, 2002).
Распараллеливание кода, да тем более такого старого, как в DE - адская, долгая работа с абсолютно непредсказуемым результатом. Проще, как мне кажется, написать многопоточный движок с нуля, чем распараллелить старый однопоточный.

lavinic49

     Многопоточность и параллельные вычисления не были упомянуты в этой теме ещё ни разу.
     Речь шла лишь о нормальной работе под многоядерными процессорами без необходимости выставлять для программы параметр "affinity" (что для 1.18 было неизбежной необходимостью). Поэтому "старый" Вор вёл себя так у всех, а не только "на моём компьютере". Поскольку одноядерных процессоров, пожалуй, нет ни у кого уж года 3-4. Хотя допускаю, что у BenDer`а 1.18 не загрузит одно из его четырёх ядер на 100%, как у меня (его машина раз в пять мощнее моей).
     
     Я много видел программ под Windows (как и все мы). Ни для одной не припоминаю, чтобы декларировалась способность распараллеливать вычисления. А работают в много потоков почти все, многопоточность - это нормально. У Thief2 - (и прежних и у последнего) работают 4 потока. Только до 1.19 потоки не могли работать параллельно (на разных ядрах), а теперь могут и программа перестала падать в этих ситуациях. Отчасти это повлияет и на быстродействие в целом (хотя и очень незначительно, поскольку логика осталась прежней).

Chuzhoi

Цитата: lavinic49 от 13 октября 2012 03:46:40
Я много видел программ под Windows (как и все мы). Ни для одной не припоминаю, чтобы декларировалась способность распараллеливать вычисления.
Unreal Engine, начиная 3-й версии, распараллеливает вычисления на два основных потока. Когда вышел UT3, вовсю трубилось, что для этой игры желателен именно двухъядерный процессор.

DJ Riff

Цитата: lavinic49 от 13 октября 2012 03:46:40Я много видел программ под Windows (как и все мы). Ни для одной не припоминаю, чтобы декларировалась способность распараллеливать вычисления.
Winrar, не? Другие современные архиваторы наверняка тоже. Кодировщики видео, опять же.

100% загрузка одного из ядер в оригинальном Dark Engine это принципиально, иначе тайминг поплывёт. Можно вручную ограничить производительность процессора в системе, тогда наверное загрузка упадёт, но это ограничение должно оставиться постояным с момента запуска игры, иначе скорость игры будет меняться.
Тьма тоже распространяется со скоростью света.

Kolsy

#244
вчера поставил руссификатор на Thief 2 v1.19 и сразу игра стала виснуть. а если сначала руссифицировать, а потом уже патч ставить поможет ?

Kolsy

#245
 на Thief v1.18 не проверял.

DonSleza4e

русик ставит свой thief2.exe
вернуть назад thief2.exe от патча 1.19

Kolsy

да помогло, спасибо.

lavinic49

#248
Цитата: DJ Riff от 13 октября 2012 13:38:27
Winrar, не? Другие современные архиваторы наверняка тоже. Кодировщики видео, опять же.

   Нет, все они, скорее всего, работают в много потоков, управляемых единственным процессом. Как и UT3. Кто из потоков работает со звуком, кто с видео. Но не более. Логика - за главным процессом.
    Кодировщики видео  (новые) дополнительно к тому берут умением напрягать ГП видеокарты. Но с ним работает какой-то из потоков и как заказчик работы и приёмщик результатов.
   Параллельные вычисления - это когда множество относительно равноправных вычислительных процессов (в идеале - каждый на своём ядре) работают на ОБЩЕМ или ОБЩЕДОСТУПНОМ блоке данных, взаимодействуя между собой (синхронизируясь) с помощью нескольких различных методик. Обычно есть главный управляющий процесс ("или даже вертикаль власти" из множества иерархически организованных процессов с разной компетенцией). Сильно похоже на улей, где у каждого своя роль, которая исполняется без раздумий о смысле жизни вообще. Используется при обработке многомерных данных. Практика - метеорология, сейсморазведка и многое, многое. Вычислительная среда - суперкомпьютеры с тысячами ядер (пока писал - возможно число на порядок-другой выросло). Быстродействие линейно зависит от количества ядер. Совершенно иная техника программирования. И логика с нетрадиционной ориентацией.
    Тем не менее, хорошо сделанная Windows-программа тоже может параллельно исполнять несколько (обычно слабо связанных) кусков работы и затем по готовности их использовать. Но выигрыш не будет пропорционален числу ядер. Впрочем конвертеры почти опровергают последнее утверждение, если не используют ГП (ядрами независимо конвертируются соседние фрагменты и потом объединяются). А иначе ГП, делая львиную долю работы, определяет быстродействие на 90%. И с ним не важно, сколько будет ядер. Но ГП, если я правильно знаю, используются пока только для AVC-кодирования (h264). Все прочие форматы - по старинке.
    Архиваторы мало отличаются от конвертеров в плане функций. Также преобразуют входящий поток в результирующий с большим или меньшим числом операций на единицу "продукции". Но вычислений не распараллеливают.

Zontik

Немного уведу в сторону от распараллеленных вселенных, не возражаете?
Столкнулся с неприятным глюком, когда запустил Thief Gold на патче 1.19. Когда берешь какой-то предмет, инвентарь не показывается. То есть ты практически не видишь, что берешь. Взятый предмет все-таки попадает в инвентарь (проверено), но сам процесс добавления остается загадочно скрытым.
В чем может быть причина? У кого-нибудь еще наблюдается такое? Хочется исправить, потому как это жутко неудобно. Оригинальный Gold, английская версия.
Дайте глазам отдохнуть! Тёмное место

DJ Riff

Zontik, Посмотри в настройках управления авто-эквип или что-то подобное.
Тьма тоже распространяется со скоростью света.

Zontik

Имеются в виду настройки самой игры? Посмотрю обязательно, хотя я туда уже несколько лет не лазил.
Дайте глазам отдохнуть! Тёмное место

DJ Riff

Да, именно. Только это может быть не в "Управлении", а в разделе "Игра" — там же, где автоматический обыск тел и захват лестницы.
Тьма тоже распространяется со скоростью света.

В капюшоне?

Народ, помогите разобраться: вот поставил я этот патч на Зиф Голд, но выглядит он не так круто, как в демке-Поместье Баффорда. Там небо гораздо более красивое и видит мою видюху в настройках, а в том, что у меня получилось только разрешение моё можно выставить и всё. Как можно сделать чтоб вся игра была такого же вида, как и в демке.

DJ Riff

Поставь TFix. Там всё: и апдейт движка, и небо, и вода, и прочие текстуры.
Тьма тоже распространяется со скоростью света.