Возможно как-то связано с версией DirectX, в эмуляторе используется довольно древняя версия DirectDraw.
Вид для печати
Возможно как-то связано с версией DirectX, в эмуляторе используется довольно древняя версия DirectDraw.
Пробовал в свойствах ярлыка выставлять разные режимы совместимости, ситуация никак не меняется.
Единственное, если ставить ХРюшу, то потом ещё вот это окно вылезает:
https://forum-img.guitarplayer.ru/2023/04/16/aaxVv.png
Но сам эмуль работает корректно, только тормоза при запуске и эта ошибка при выходе из него..
- - - Добавлено - - -
Пока нарыл только это:
https://forum-img.guitarplayer.ru/2023/04/16/aaaQp.png
Есть новость по проблеме "Fail Fast". Случайно обнаружил, что если в эмуляторе нажать кнопку "Скриншот", но в появившемся окне диалога сохранения ничего не сохранять, а просто закрыть его крестиком, то выход из эмулятора без этой ошибки. Эффект стабильный!
Ещё наблюдение. В моей старой сборке файл EMU.exe имеет размер 286720 байт, а в свежескачанном архиве 307200. При этом оба выдают себя за версию 1.01. В свежем архиве эмулятор запускается без задержки, но и ошибка "Fail Fast" также моментально появляется при выходе. Старая сборка запускается в окно выбора платформы сразу, а вот после выбора платформы ощутимый лаг, и примерно такой же лаг до всплывания ошибки винды после закрытия программы. Что-то где-то надо бы подпилить ;)
Denn, с возвращением! :)
Не удалось решить проблему?
Я уже более 3 лет постоянно на Wndows 10 (и Linux), defender включен, проблем с эмулятором b2m не было, запускается также мгновенно. Мне кажется, что проблема в самой системе, м. б. переустановить, хотя бы поверх? Версия Windows 10 вообще достаточно актуальная? Обновления установлены, с драйверами видео/аудио все ок?
у меня уже лет 6 стоит 10ка, никаких проблем и тормозов с запуском emu или virtual vektor.
антивирусов у меня тоже нет (только защитник виндовс есть).
скорее всего Denn, тебе надо ставить обновления и различные библиотеки.
Нет. Комп у меня в мастерской, я там бываю по выходным только, и то не по каждым. Винда можно сказать свеже установленная (сборка где максимально всё лишнее выпилено и отключено), ещё не замученная (ставил в феврале этого года), минимальный необходимый софт и всё. Драйвера все ок. Остальной софт (в т.ч. мои поделки на билдере аж ещё со времён ХР) работает без нареканий.
- - - Добавлено - - -
Всё проверю на майских, отпишусь.
- - - Добавлено - - -
Ох, не любитель я ставить всякие обновления, особенно без понимания. Я сторонник принципа: работает - не трогай)
Попробовал.
1) Убирает ошибку открытие следующих диалогов: Open, Save, Save As, Save Screenshot, Change ROM-disk
2) Не убирают ошибку диалоги открытия образов дискет: N1, N2
3) Также не влияет полноэкранный режим, спрятать мышку, ресайзы экрана, показ/непоказ строки статуса, тулбара, вывод "о программе".
4) Если нажать "New", то открытие этого диалога очень прилично тормозит, зато если после этого закрыть программу, то ошибка FailFast выскакиваем прям моментально, без типичной задержки.
Снял небольшой ролик - https://www.youtube.com/watch?v=El7lxgDWmYY
- - - Добавлено - - -
PS п.4 уже попробовал после того, как снял видео
PPS также пробовал выбирать эмуляцию других платформ (Орион-ПРО, Океан-240, РК) - всё тоже самое.
По поводу п.4, это ожидание окончания потока, отвечающего за звук. Но я сократил этот таймаут уже лет 10 как назад (после того как перешёл на Win7). В XP всё работало как задумано, а в Win7 почему-то по другому. Разобраться не удалось, т.к. компиляцию и отладку делаю в виртуалке. Отличие поведения 1 и 2 ставит меня в тупик. Я грешил на диалог открытия файлов, но тут похоже что-то другое.
Ещё возможна проблема с GDIPLUS.DLL, т.к. именно она выгружается/деинициализируется по закрытию эмулятора. Но опять-таки, одни догадки, как проверить - непонятно. Можно, конечно, найти все версии на компе и переименовать временно, чтобы проверить. Если она не будет найдена, скриншоты только в bmp будут. Сам решай.
EXE'шник с которым видео от 2016 года:
https://forum-img.guitarplayer.ru/2023/05/03/h8Mir.jpg
Нашёл ещё вариант от 2019-го:
https://forum-img.guitarplayer.ru/2023/05/03/h8vTC.jpg
с ним всё также, но окно ошибки всегда выскакивает моментально при закрытии эмулятора.
GDIPLUS.DLL в папке с эмулятором нету, у меня нашлись только тут:
https://forum-img.guitarplayer.ru/2023/05/03/h81Au.jpg
Может версия какая-то не такая?
- - - Добавлено - - -
Ещё обратил внимание, что при закрытии процесс эмулятора исчезает мгновенно из диспетчера задач, а ошибка всплывает позже этого.
И ещё вот этапы запуска эмулятора через диспетчер задач, если это как-то может прояснить:
https://forum-img.guitarplayer.ru/2023/05/03/h8sgS.png
https://forum-img.guitarplayer.ru/2023/05/03/h87MR.png
Вот, это версия с сокращённым таймаутом.
Для меня всегда было загадкой, почему версии настолько отличаются. Как мне кажется, грузится та, что в каталоге SysWOW64, можно попробовать переименовать её временно. Но скорее всего ошибка не пропадёт.
Это ни о чём не говорит. Мало ли что делает винда, после закрытия процесса. Может она показывает только состояние главного потока. А то, что ошибка всплывает позже может намекать на то, что поток, отвечающий за звук, продолжал работать и после закрытия эмулятора.
Винда вот эта: "Windows 10 Pro 22H2 19045.2364 + Office 2021 x64 by BoJlIIIebnik RU.iso"
Но всё же я думаю, что конкретная сборка винды тут ни при чём.
- - - Добавлено - - -
Такое разве возможно?! Родительский процесс разве не контролирует закрытие своих потоков?
Ну ок, если это гадит процесс звука, то что даёт открытие/закрытие некоторых файловых диалогов?
- - - Добавлено - - -
Мне всё таки странны тормоза между выбором платформы и её запуском. Их точно раньше не было. Такое ощущение, что происходит разводка печатной платы моделируемой 8-битки)) При этом загрузки процессора нет вообще.
Правильно написанная программа сама завершает потоки. При закрытии программы я тоже жду, когда завершится поток, но он похоже не завершается. Отсюда и таймаут.
Хороший вопрос. Ответа только пока нет.
При выборе платформы предыдущая закрывается, соответственно и поток, отвечающий за звук.
Если при старте не выбирать платформу, а нажать Esc, то выбор платформы по New будет без тормозов.
- - - Добавлено - - -
Вопрос только в том, почему ошибка только у тебя.
- - - Добавлено - - -
Я не настаиваю на использовании последней версии, но пользоваться совсем уж древней версией всё-же как-то странно.
Проверил - действительно. И если не выбирать никакую платформу, то при выходе ошибки нет.
- - - Добавлено - - -
Возможно каким-то образом через настройки запретить запуск процесса звука вообще?
- - - Добавлено - - -
Это не вопрос. Сколько реально пользующихся эмулятором сегодня? Сколько среди них живут под Вин10 ? Сколько из них зарегистрированы на форуме? Сколько готовы заморачиваться обратной связью с автором эмулятора, если что-то не совсем ровно работает? Не удивлюсь, если я один и есть такой :)
- - - Добавлено - - -
P.S. через две недели выйду из отпуска и проверю на работе, там тоже 10-ка.
К сожалению, не предусмотрено.
- - - Добавлено - - -
Есть предположение, что процесс звука как-то не так завершается и остаётся зомби-процессом. А винда при закрытии процесса это обнаруживает, и выдаёт ошибку.
Проверить можно так: в версии от 2016 года запустить платформу, открыть и закрыть диалог, убирающий ошибку, затем открыть диалог новой платформы, но потом нажать Esc.
То есть скомбинировать п.1 и п.4
Проконтролировать задержку при открытии новой платформы, при закрытии эмулятора и наличие ошибки.
Полагаю, при закрытии эмулятора задержки не будет, но ошибка будет.
- - - Добавлено - - -
Если есть желание копаться дальше, могу сделать настройку в файле EMU.ini, отключающую создание процесса звука.
Поэкспериментировал по-всякому. В общем, факт открытия любой платформы взводит ошибку выхода, а передёргивание диалога ROM-диска (или Save и т.п.) деактивирует её навсегда. Между ними можно делать сколько угодно New-Cancel операций, на картину выхода не влияет. Подробнее:
1) Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Так можно сколько угодно делать. Выход из эмуля - без ошибки.
2) Запускаем эмуль, выбираем платформу. Жмём New - всё виснет насмерть на время лага, появляется новая платформа. Можно вновь сделать New, также лаг. Если делать отмену новой платформы и вновь жать New, то лага нет. Выход с ошибкой через время лага.
3) Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Далее выполняем п.2 (только без запуска эмуля, он у нас уже запущен) - всё также как в п.2 :)
4) Самое интересное! Запускаем, но жмём отмену (не грузим платформу). New срабатывает моментально. Передёргиваем диалог "Save". Жмём New, выбираем платформу, затем закрываем эмуль - ошибки нет!
- - - Добавлено - - -
5) Всё как в п.4, но не выходим из эмуля, а жмём New - лаг. Но последующие выборы платформ или отмены картину не меняют - выход из эмуля без ошибки.
- - - Добавлено - - -
Да. Надо же добить вопрос :)
- - - Добавлено - - -
Поправка к п.2
Лаг между выходом и появлением ошибки есть только в случае, если выходим с загруженной платформой. Если после передёргивания New-Cancel, то ошибка после закрытия моментально без лага.
- - - Добавлено - - -
Таким образом, насколько я понимаю ситуацию, лаг есть всегда по факту загрузки/выгрузки платформы, но напрямую он на ошибку не влияет. Передёргивание причинных диалогов квитирует ошибку навсегда, но на лаги не влияет. Ошибку взводит факт загрузки платформы, а не эмулятора. Деактивировать ошибку (или не допустить её взвод?) можно заранее - это самое странное во всей этой истории, на мой взгляд.
Ну тогда, если не трудно, скачай последнюю версию с моего сайта и проверь, есть ли ошибка.
Затем замени EMU.exe из архива http://bashkiria-2m.narod.ru/files/test.zip и снова проверь. В этой же версии можно добавить в EMU.ini строчку main.nosound=1 и отключить звук совсем.
- - - Добавлено - - -
Вот, кстати, та-же проблема с http. Если кликнуть на ссылку, ничего не скачается. Только если скопировать её и открыть её в новом окне.
- - - Добавлено - - -
Кстати, в последних версиях, ожидание окончания потока вообще без таймаута, то есть вечно. Значит поток всё-же завершается. В тестовом варианте я немного изменил порядок завершения звукового процесса, возможно это поможет.
Свежий из архива: по ошибке всё тоже самое, только время лага стало сильно меньше. При нажатии New слышно шелчки, и сразу после них открывается меню. Т.е. лаг явно на время звуков.
Тестовый с отключалкой: без команды отключения в инишнике всё тоже самое, что и с новым из архива; при main.nosound=1 вообще всё шикарно - ни лагов (эмуль летает!), ни ошибки!
Выходит косячанский в звуке. Но почему фиксит ошибку передёргивание файловых диалогов???
P.S. у меня на борту три звуковых карты, две из которых с поддержкой ASIO, но ведь это вряд ли как-то может влиять.. или может?.. Эмуль пищит через встроенный звук на материнке, который выбран для звуков винды.
- - - Добавлено - - -
У меня в Опере эти ссылки открываются и качаются без проблем. Траблы тока с картинками и только оформленными тегами [имг].
А если поток звука запускать всё как было, но сам звук не дёргать (тред-пустышка, не делать обращение к аудио API или как там оно устроено?).
Т.е. понять на каком конкретно участке борода.
В вин7 работа со звуком как-то иначе, чем в ХР; а в вин10 ещё более иначе, чем в вин7 (за конкретику не скажу, тока слышал звон..).
Понадобилась мне виртуалка для кое-каких экспериментов. Решил скачать и попробовать эту сборку... Ошибка воспроизвелась ;)
https://pic.maxiol.com/images2/16832...4.failfast.png
Сегодня попробовал, в нём нет этой ошибки.
- - - Добавлено - - -
Также, в сравнении, заметил артефакты по самому звуку, записал на видео:
https://www.youtube.com/watch?v=PLPe8_5qyPs
- - - Добавлено - - -
Насколько догадываюсь, каждый акт воспроизведения звука предваряется неким щелком "включения звукового тракта". По факту загрузки/выгрузки платформы тоже слышны удары по динамикам, по идее их быть не должно, это какая-то лишняя коммутация.
- - - Добавлено - - -
Имеется в виду эта сборка Винды или эта сборка эмулятора? Если первое, то на других сборках 10-ки ошибка не воспроизводится?
Проверил ещё раз. Про диалоги N1/N2 актуально для экзешника от 2016-го года. Эмуль из свежей сборки действительно гасит ошибку и этими диалогами тоже.
- - - Добавлено - - -
У меня давно лежит на сайте архив с настроенными Орионами, изменённой раскладкой клавы под них, нужными образами ПЗУ - http://denn.ru/8bit/emu_b2m/emu.rar
Вот в этой версии диалоги N1 и N2 не убирают ошибку.
Есть интересная новость!!!
Дело всё же не в бобине, в смысле не в звуке. Ну или не только в звуке.
Взял тестовую версию emu.exe с отключенным звуком в инишнике. Работаю - типа всё хорошо, всё летает и ошибки при выходе нет.
Решил потестировать виртуальные дисководы. Нашёл у себя пустышку empty.odi, подкинул эмулю через диалог N1, копировал туда файлы Орионом, сравнивал, что-то ещё делал, потом выхожу - та самая ошибка! Сначала подумал, что показалось. Решил перепроверить.
В общем, фишка следующая. Если пользоваться odi-образом только на чтение, то ошибки нет. Если что-то писать в образ, то при выходе из эмуля та самая ошибка FailFast.
Такие дела.
Мдя, мелкософт умеет подкинуть загадку...
b2m, так ты воспроизвел проблемы в виртуалке на той же сборке или на оригинальном образе? Может дело-то не в MS а в криворуких делателях сборок?
Я воспроизвёл в виртуалке на сборке от того-же делателя: Windows 10 Pro 22H2 19045.2311 + Office 2021 x64 by BoJlIIIebnik RU (тут номер билда чуть чуть другой)
Другие ссылки с тем-же номером билда были для торрента, я не справился.
- - - Добавлено - - -
Я не исключаю, что набор DLL, которые в совокупности грузятся, как-то конфликтуют друг с другом, но это было бы совсем уж просто. Возможно тут что-то другое. Надо какую-то IDE с отладчиком ставить. Так не понятно.
нафига такие сборки берёте от всяких Васей Пупкиных.
берите чистые сборки винды и никаких проблем не будет.
у меня Windows 10 Pro 22H2 19045.2913
Подтверждаю, на чистой сборке и в виртуалке все ок.
Лично мне не нужна вся эта встроенная телеметрия с ежедневными отчётами "папе" и прочими совершенно ненужными наворотами. Нашёл вариант сборки, прочёл все отзывы - мин нет. Установил, проверил на всём софте, которым пользуюсь - тоже всё ок. Были бы малейшие сомнения или глюки какие-то, не ставил бы.
Вот у меня тоже самое, при выходе Fail Fast ошибка. ТОже вин 10. До этого стоял другой дистрибтив WIN10 - там работало без ошибок. Поставил обрезок, с выкинутыми многочисленными функциями которые что либо отправляют в майкрософт - и вот такая ерунда. Причем, это единственная программа которая как то не так работает в этой винде. ТОрмозов нет, а вот эта ощибка при выходе регулярна.. Что то с этим вопросом прояснилось ?
- - - Добавлено - - -
Вообще по описанию все 1 в 1 - так же если открыть диск 1 и диск 2 - ошибки нет при выходе, так же если не выбрать платформу ошибки нет.. В общем, все что описано вше - у меня все 1 в 1. Есть ли какео то решение уже ?