Strange, but PerryR package works ok on my PC, adding extra debug means.
igrik, спасибо.
Please try the updated library:
https://dropmefiles.com/1SwJd
Игрик, если не трудно, тоже.
heroes 3.ini: Debug.LogVirtualFileSystem = 1
Интересует Debug\Era\log.txt
В журнале будут видны все отображения файл к файлу. Интересует, что не так.
(28.05.2019 16:11)Berserker Wrote: [ -> ]Please try the updated library: https://dropmefiles.com/1SwJd
Buttons.dll тоже изменилась? Пишет: "Falled to access Buttons.dll plugin. Not Loaded?".
(28.05.2019 17:39)Berserker Wrote: [ -> ]Update: https://dropmefiles.com/K1XaC
А с этим badluck.era отказывает загружать. Совместимость с ЭРАкрест у версии 2.8 пока что отсутствует, остаюсь сидеть на 2.7.7.
XEPOMAHT, постом выше обновление. Исправление выйдет в 2.8.1 официально.
Кадр из Южного парка) Он сидел и ждал любой активности у себя на Фейсбуке)
Berserker, еще не пробовал 2.8, обязательно попробую, я думаю, это в любом случае большой шаг вперед.
Меня интересует проблема вылетов на многоядерных процессорах. Хотелось бы об этом поподробнее узнать.
Я так понял, кроме привязки процесса игры к первому логическому ядру, других решений пока нет.
Это проблема чисто ERM? Если не использовать erm-скрипты, вылетов не будет?
Я понимаю, что мог бы сам протестировать, но свободного времени катастрофически мало, поэтому проще спросить.
Просто многопоточные стретч-фильтры Бараторча в однопотоке - это жуткий тормоз, выше scale2x уже неиграбельно.
А Hota и SoD летают на самом тяжелом фильтре XBRZ+bicubic.
Обидно

wessonsm, в 2.8 производительность подросла за счёт более эффективной виртуальной файловой системы. И в 2.8.1 был улучшен патч на нагрузку процессора. Многопоточность создаёт множество головных болей программистам из-за необходимости синхронизировать работы с данными. Ошибки приводят к порчам, странным багам и вылетам.
В одном из релизов Бараторч отметил, что теперь HD всегда привязывается к одному ядру, то есть зафиксировал опцию Эры UseOnlyOneCpuCore. Судя по всему, из-за проблем со звуками. Возможно, это всё было на Вог/ТЕ. Проверь, пожалуйста, заняты ли все ядра на SoD/Hota.
В Вог добавлено события смены mp3-треков — !?MP. Проблема в том, что оно происходит в другом потоке. В целом большинство скриптовых языков однопоточны, ЕРМ тоже. Он просто вылетает, если параллельно вызываются разные обработчики. И починить его простыми способами крайне сложно. Хотя идея есть, записал в TODO.
Hello, friends! Sorry for long delay.
For those, who downloaded 2.8..2.8.1: please, redownload 2.8.1 and install over clean game (not even previous Era version).
In short:
2.8.1+ is:
- Rewritten Virtual File System. Mods\list.txt in UTF8 encoding, no compatibility settings on XP, Win 7, Win 10, Wine, no Lua errors, support for Unicode on system level. Performance boost, fluent GUI interface, full support for map editor.
- Fixed many stability related bugs.
- Integrated WoG Native Dialogs (native dialogs, stretchable for HD).
Version 2.8.1
------------------------
[+] Option CPUPatch was replaced by CpuTargetLevel (value 0..100), defining desired level of CPU load. Real CPU loading decrease is usually
greater than option value. 0 (almost not CPU loading in idle mode, but with possibly a bit not responsive interface or jerky mouse movement).
100% — regular game mode (waste of CPU time and battery).
[+] Integrated latest WoG Native Dialogs mod by igrik.
[+] Tools\installmod.exe utility was updated to support new UTF-8 format of Mods\list.txt file.
[+] Added char* GetEraVersion exported function.
[+] Added event 'OnReportVersion' for important plugins and Era. Added void ReportPluginVersion(char* VersionLine) API to era.dll.
It's now possible to view Era and important plugin versions via right mouse button on Credits button in main menu.
[+] Added option 'Debug.DumpVirtualFileSystem'. If true, all virtual file system mappings are written in log.txt on game start.
[+] Added full set of English texts and gui resources to enforce language of core WoG mod.
[*] Added support for 'modlist' command line argument to map editor.
[*] Restored obligatory mod list report in log.
[*] Updated 'numeric creature stats.era' plugin by igrik. No more dependency on VC++ Redistributable anymore.
[*] Updated patcher_x86.dll by Baratorch to 4.5.4.
[-] Fixed bug: not all virtual files and directories were correctly mapped. Updated vfs.dll to 1.0.2.3 version.
[-] Fixed bug: some Era exported API used non-stdcall conversion and pointer to internal routines, rather then special wrappers.
This would cause immediate crashes in any plugin, that would try to use them.
(30.05.2019 00:49)Berserker Wrote: [ -> ]В одном из релизов Бараторч отметил, что теперь HD всегда привязывается к одному ядру, то есть зафиксировал опцию Эры UseOnlyOneCpuCore. Судя по всему, из-за проблем со звуками. Возможно, это всё было на Вог/ТЕ. Проверь, пожалуйста, заняты ли все ядра на SoD/Hota.
Версия hd mod 5.0 rc 53. SoD/HotA
Если в настройках хд мода ставить один поток - используется одно ядро ( один поток, если быть точнее -- напоминаю: у моего ноута 2 ядра / 4 потока)
Если выставить 2/3/4, то используются все 2 ядра /4 потока.
Возможно, дело в том, что и видеокарта используется интегрированная в процессор.
(30.05.2019 01:22)Berserker Wrote: [ -> ][-] Fixed bug: some Era exported API used non-stdcall conversion and pointer to internal routines, rather then special wrappers.
This would cause immediate crashes in any plugin, that would try to use them.
Не помогает. Феаноровские плагины на отрицательную удачу и артефакты всё равно последняя версия эры отказывается воспринимать. Остаюсь сидеть на версии 2.7.7.
По многопоточности понял, посмотрим, что можно сделать.
XEPOMAHT, расширение у плагинов — *.era?
hEra = (HINSTANCE) v[1];
*.dll плагины грузятся после Вога из angel.dll, у них в v[1] никакого дескриптора Эры нет. Они DEPRECATED. Я бы бы рад сейчас всё исправить, но уже есть куча скомпилированных dll
*.era плагины грузятся до Вога и могут успеть на события OnBeforeWoG. в v[1] при первом вызове дескриптор Эры.
Нужно сделать hEra = LoadLibrary('era.dll');
Глупая оптимизация обернулась мне боком!