Arcana

Форум проекта L2Arcana.ru => ОШИБКИ => Тема начата: Rif от 23 Сентябрь 2015, 21:17:25

Название: Critical Error : Negative delta time! (Windows 7)
Отправлено: Rif от 23 Сентябрь 2015, 21:17:25
Собственно цинк:

2015.9.23 21:08:51
OS : Windows Vista 6.1 (Build: 7600)
CPU : AuthenticAMD Unknown processor @ 4014 MHz with 4095MB RAM
Video : AMD Radeon HD 7900 Series (1404)

Negative delta time!

History: UGameEngine::Tick <- UpdateWorld <- MainLoop

Реально на компе:
Виндовс 7
Проц AMD FX-6300
Оперативки 16 Gb
Видео Radeon 7950
*проц разогнан до 4 ГГц, на 3,9ГГц запускается.
Если на 4 запустить никак, пойму  :pardon:
Но всё же прошу совета знающих людей.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Rif от 23 Сентябрь 2015, 21:24:39
upd.
Даже при частоте 3,6 выбивает   :-\
Разгон производился AMD OverDrive.
Штатная частота 3,5 ГГц
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 23 Сентябрь 2015, 23:27:07
считаю что можно решить проблему 2 способами.
1. не разгонять проц. Линейка - все-таки допотопная игра, не поддерживающая многопоточность.
2. вешать процессы l2.exe на раздельные ядра. тут подробнее.
Через диспетчер задач каждый раз давать соответствие - слишком утомительно. Учитывая что кол-во загружаемых окон явно не одно. Сделать это можно двумя способами.

а)
создать bat файл в system папке
start /affinity 1 l2.exeгде циферка обозначает первое ядро (в диспетчере аналог 0) ну и наделать к нему ярлыков. Аналогично и с другими ядрами. Если 2 ядра, то будет 2 батника; если четыре ядра, то уже 4 батника.
Если требуется загрузить 10 окон, то и распределять на ядра их нужно равномерно.

б)
сделать кол-во копий папки system по кол-ву ядер
скачать qfixapp с сайта майкрософта
настроить SingleProcAffinity на каждый экзешник, сохранить изменения и запускать l2.exe уже обычным способом.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 23 Сентябрь 2015, 23:31:51
Цитировать
...сохранить изменения и запускать l2.exe уже обычным способом.
тут имеется в виду запуск л2.ехе для каждого ядра из соответствующей папки.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 23 Сентябрь 2015, 23:52:00
Ах да, может даже и не потребуется обязательное условие 1 процесс=1 ядро. надо поэкспериментировать. Может все будет кукарача при раскладе: 1 процесс на 2 ядрах.
Как-то так.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Rif от 24 Сентябрь 2015, 08:12:30
Насчет SingleProcAffinity не понял :popcornmodeon:.
Сейчас запускаю с двух папок систем - так удобнее окна разделять визуально.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 24 Сентябрь 2015, 12:52:58
Я немного вчера налажал с командой  /affinity # так как давненько уже ей не пользуюсь. Сейчас перепишу чутка.
Про прогу qfixapp лучше забей. Чтобы сделать настройку для каждого l2.exe(а ведь требуется чтобы разные л2.ехе запускались с разными параметрами) нужно создавать базу данных, и в случае некорректной установки надо лезть в C:\Windows\AppPatch и удалять конфиги.
Через bat файл проще замутить.
Ща скриншоты еще сделаю.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 24 Сентябрь 2015, 13:01:46
Цифра после самой команды пишется в хекс представлении. Погуглив марку твоего проца понял, что в системе у тебя 6 ядер. Итак, как и что считать и записывать:
имеем 6 ядер
000000 << представим что каждый нолик обозначет отдельное ядро.
Крайний правый обозначает первое ядро(CPU0), соответственно крайний левый обозначает шестое(CPU5). Те, у кого ядер больше/меньше действуют по аналогии.

Допустим, нужно чтобы окно запускалось на 1 ядре. Пишем 0000001. Результат таким и остается. То есть после команды пишется 1

Допустим, нужно чтобы окно запускалось на 2 ядре. Пишем 0000100 (отсчет идет с нуля справа). Надеюсь, с переводом bin2hex проблем не должно возникнуть. На крайняк можно запустиь виндовый калькулятор в режиме погромиста. Выходит 4. После команды пишем 4

Допустим, нужно чтобы окно запускалось на 3 ядре. Пишем 0001000. Вышло 8. То есть после команды пишется 8

На последнем ядре 1000000. Вышло 64. Записываем  /affinity 64

А теперь если требуется чтобы одно окно запускалось на ядре CPU0 & CPU1
Пишем 000011. 11 переводится как 3. Пишем тройку.
Нужно чтобы окно запускалось на CPU0 & CPU1 & CPU2 & CPU3
Пишем 0001111. Переводим в хекс = F. Пишем эту букву.Выйдет  /affinity F

(http://storage8.static.itmages.ru/i/15/0924/h_1443088561_8043852_9224bda7ed.jpg)

Как видно из скрина, в папке с игрой куча system папок. В каждой есть свой bat файл. Лично я еще немного урезаю настройки на фоновых окнах (mipbias-ы там всякие, битность цвета и прочие фишки) чтобы у основных окон не сбивались настройки.
И на эти cmd сделаны ярлыки в меню Пуск.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 24 Сентябрь 2015, 13:06:05
Можно еще сделать так:
(http://storage1.static.itmages.ru/i/15/0924/h_1443088986_8412012_db8a67afbd.jpg)

Для этого нужно создать и запустить *.reg файл
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре]
@=""

[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре\Command]
@="cmd.exe /c start \"Run with CPU-0 Affinity\" /affinity 1 \"%1\""
Если надоела эта строка, то можно ее удалить, создав и запустив другой reg файл
Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре]
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 24 Сентябрь 2015, 13:08:56

На последнем ядре 1000000. Вышло 64. Записываем  /affinity 64

40 будет на конце, а не 64
Что я за человек! :D Ну вы поняли.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Навухогорлоносор от 24 Сентябрь 2015, 13:47:29
Цитировать
Для этого нужно создать и запустить *.reg файл

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре]
@=""

[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре\Command]
@="cmd.exe /c start \"Run with CPU-0 Affinity\" /affinity 1 \"%1\""
И опять налажал(
Правильный вариант будет таким:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре]
@=""

[HKEY_CLASSES_ROOT\exefile\shell\Запуск на 1 ядре\Command]
@="cmd.exe /c start \"Запуск на 1 ядре\" /affinity 1 \"%1\""

Все, ушел сгорать от стыда
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Rif от 24 Сентябрь 2015, 23:27:43
Обязательно попробую эти фишки, конечно на все 6 ядер разбивать не буду.
Да и вообще забыл про лаги в играх с новым процессором  :-[
Надо тестить и смотреть как оно будет.
А разгон процессора хотел просто поставить на постоянку, но для линейки выходит его нужно убирать в ручную - не удобно(
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: ukca от 25 Сентябрь 2015, 09:58:49
ну не знаю как у вас, у меня был сто лет назад куплен AMD Phenom x2 555 двухядерный 3.2 GHz
разблокировал 2 ядра, и стал он у меня теперь AMD Phenom x4 B55. выставил в биосе частоту до 3.6GHz. А потом спец утилитой с сайта АМД (AMD OverDrive) поднял напряжение ядра до 1.42 и выставил частоту 4.0 GHz.
и всё прекрасно работает уже давно, никаких тормозов с разогнанным процессором нет.
были глюки после апдейта недавнего на дино на париках, но потом админы что то там подшаманили и всё нормализовалось. тоже по ядрам пытался процессы перенаправить, но сейчас всёработает на автомате.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: arctica от 25 Сентябрь 2015, 11:05:15
Такие посты от Навухогорлоносор`а надо закреплять в теме полезных советов.
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: Rif от 25 Сентябрь 2015, 21:38:52
Чюдеса в решете - как можно "разблокировать" 2 ядра если их всего два  :D, ну а разгон поднимает температуру, не охота взлетать на кулере...
Название: Re: Critical Error : Negative delta time! (Windows 7)
Отправлено: ukca от 27 Сентябрь 2015, 07:06:23
ну вот видишь, как бывает. ты такой большой мальчик, а не знал что есть такие вот замечательные процессоры, позволяющие разблокировать 2 дополнительных ядра)
к сожалению я не смог вставить сюда ссылку на отзывы яндекс маркета, где куча народу хвастается превращением своего 2хядерника в 4хядерник.
новичкам нельзя ссылки писать в сообщениях