Автор Тема: PCem - эмулятор старого PC-железа  (Прочитано 95332 раз)

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

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #240 : 20 Сентябрь 2016, 10:34:42 »
При подборе кэша для стабильных 100% скорости работы эмулятора - просадки fps будут обусловлены уже аппаратными возможностями эмулируемой Voodoo.
Действительно. Я почему-то совсем забыл, что можно уткнутся в потолок самой железки.
для начала стоит сравнить производительность настоящий железки с PCem, с кажем в Turok 2 (98г, не "первой волны"):

и понять, что до эмуляции даже первой вуду на полной скорости ещё очень далеко (возможно, и5 разогнанного до 7ггц под жид.аз. и хватит :lol:).

Оффлайн Chaotix

  • Пользователь
  • Сообщений: 1555
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #241 : 20 Сентябрь 2016, 11:18:14 »
для начала стоит сравнить производительность настоящий железки с PCem, с кажем в Turok 2 (98г, не "первой волны"):
https://www.youtube.com/watch?v=HLWIhqAfFz0
и понять, что до эмуляции даже первой вуду на полной скорости ещё очень далеко (возможно, и5 разогнанного до 7ггц под жид.аз. и хватит :lol:).
Сравниваешь пенёк3 на 1ГГц с эмуляцией первого пенька?
Может, там совсем и не в вуду дело, а в том что проц мощнее в 4.3 раза

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #242 : 20 Сентябрь 2016, 11:25:01 »
Chaotix, ты бы хотя бы процитированное мной прочитал. а лучше весь пост... предлагаю сравнивать скорость эмуляции Voodoo Graphics с с реальной Voodoo Graphics.

Оффлайн Chaotix

  • Пользователь
  • Сообщений: 1555
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #243 : 20 Сентябрь 2016, 11:33:11 »
Chaotix, ты бы хотя бы процитированное мной прочитал. а лучше весь пост... предлагаю сравнивать скорость эмуляции Voodoo Graphics с с реальной Voodoo Graphics.
Нужно сравнивать на одинаковом железе. Может, там упирается в проц?
Ты сравниваешь не вуду, а "эмуляция старого компа с Pentium1 233mHz + вуда1" против "более новое поколение железа на Pentium3 1.05GHz + voodoo1"
« Последнее редактирование: 20 Сентябрь 2016, 11:42:18 от Chaotix »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #244 : 20 Сентябрь 2016, 12:30:10 »
Chaotix, :facepalm: я смотрю ты совсем... на, держи под нос, читай:
При подборе кэша для стабильных 100% скорости работы эмулятора - просадки fps будут обусловлены уже аппаратными возможностями эмулируемой Voodoo.
в контексте чего и предлагается сравнить эмуляцию с реальной железкой.

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #245 : 20 Сентябрь 2016, 13:51:19 »
Нужно сравнивать на одинаковом железе. Может, там упирается в проц?
Ты сравниваешь не вуду, а "эмуляция старого компа с Pentium1 233mHz + вуда1" против "более новое поколение железа на Pentium3 1.05GHz + voodoo1"
Chaotix, :facepalm: я смотрю ты совсем... на, держи под нос, читай:
При подборе кэша для стабильных 100% скорости работы эмулятора - просадки fps будут обусловлены уже аппаратными возможностями эмулируемой Voodoo.
в контексте чего и предлагается сравнить эмуляцию с реальной железкой.
По поводу моего утверждения, то оно сказано в контексте выяснения того, что является узким местом в связке P233 vs Voodoo_1. Если же сравнивать P3(1Ghz)+Voodoo_1 vs P233+Voodoo_1 то разница будет обусловлена уже CPU. Другое дело, что она будет другая и будет касаться рывков на разных эффектах и прочего, чего не умеет ускорять Voodoo_1. А ускорять она умеет только то, что связанно с наложением текстур. Всё остальное просчитывается на CPU.

Ogr, к тебе вопрос. Качнул Turok 2, поставил его на скомпилированную из последних сорцов версию PCem (и на релизной v11 тоже пробовал) с установленной Win98SE на 430VX+Mach64+P233MMX+SB16+64RAM+Voodoo. При попытке запустить Turok 2.exe, его процесс просто висит в списке процессов, но игра так и не запускается (даже меню предварительной настройки не стартует). Ничего не знаешь с чем это может быть связано?
До этого успел опробовать конкретно на этой установленной Win98 - POP3D, Sub Culture и 3DMark99 - они нормально работают.
« Последнее редактирование: 20 Сентябрь 2016, 13:57:29 от Softer »

Оффлайн xttx

  • Пользователь
  • Сообщений: 240
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #246 : 20 Сентябрь 2016, 13:55:59 »
При попытке запустить Turok 2.exe, его процесс просто висит в списке процессов, но игра так и не запускается (даже меню предварительной настройки не стартует).

Это из-за секурома.
Скачай рип, и замени екзешник в полной версии на екзе из рипа.

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #247 : 20 Сентябрь 2016, 18:08:24 »
Это из-за секурома.
Скачай рип, и замени екзешник в полной версии на екзе из рипа.
Спасибо, но мне до этого уже помог Turok 2 Fixed Executable.

Потестил Turok 2 и в нём всё указывает на очень сильную процессорозависимость этой игры, так как на каких угодно настройках графики fps остаётся одним и тем же (6-14fps, чаще всего 8fps) при 100% скорости эмуляции разумеется.
Для сравнения поставил Half-Life и побегал в OpenGL через 3Dfx Mini Driver. Результат 10-30fps и текущий fps зависит от кол-ва объектов на экране, в то время как в Turok 2 это оказывало минимальное влияние.
Так же могу сказать, что на реальной Voodo_1 + K6(200Mhz) Half-Life через 3Dfx Mini Driver выдавал те же результаты. В середине нулевых собирал винтажный комп для возможности скрепя зубами, но иметь фактическую возможность проходить на нём Hal-Life, за минимально возможные деньги. Так что это проверено мной лично.

Добавлено позже:
Turok 2 (98г, не "первой волны")
Кстати, 98 год - это дата выходя N64 версии. На PC её портировали только к февралю 1999го. А факт портирования вызывает вопросы относительно того, насколько вообще разработчики заморачивались портированием под 3Dfx кода, написанного совсем для другой архитектуры. И не отправили ли они много чего считать программно, как есть. Это всё бы объяснило.
« Последнее редактирование: 20 Сентябрь 2016, 18:22:44 от Softer »

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #248 : 20 Сентябрь 2016, 18:29:04 »

Так же могу сказать, что на реальной Voodo_1 + K6(200Mhz) Half-Life через 3Dfx Mini Driver выдавал те же результаты. В середине нулевых собирал винтажный комп для возможности скрепя зубами, но иметь фактическую возможность проходить на нём Hal-Life, за минимально возможные деньги. Так что это проверено мной лично.
HL на 2 voodoo тоже тормозил ,при похожем железе ,начало ,поезд  еще ничего ,потом слайдшоу и подгрузки уровней .

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #249 : 20 Сентябрь 2016, 18:42:00 »
HL на 2 voodoo тоже тормозил ,при похожем железе ,начало ,поезд  еще ничего ,потом слайдшоу и подгрузки уровней .
Ну Voodoo 2 по сути это точно такая-же Voodoo 1, только с двумя текстурными блоками, так что чудес ждать и не стоило. К слову на Voodoo 1 "начало ,поезд" уже скакало fps по полной в указанном мной диапазоне 10-30, так что вот тебе и разница.

Добавлено позже:
И что ты имел в виду под подгрузками уровней?

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
Re: PCem - эмулятор старого PC-железа
« Ответ #250 : 20 Сентябрь 2016, 18:48:40 »
Ну Voodoo 2 по сути это точно такая-же Voodoo 1, только с двумя текстурными блоками, так что чудес ждать и не стоило. К слову на Voodoo 1 "начало ,поезд" уже скакало fps по полной в указанном мной диапазоне 10-30, так что вот тебе и разница.
не ну скакала в поезде ,но была надежда ,что терпимо будет дальше ,а дельше был ппц  :) ,надо будет глянуть на нативных железках 1p\v2  и 3p\v3 ,скорее 1 мало будет 2 много

подгрузка  -идешь  хлоп белая полоса "загрузка" вроде и ждешь
« Последнее редактирование: 20 Сентябрь 2016, 19:01:43 от blackoff »

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #251 : 20 Сентябрь 2016, 19:13:13 »
подгрузка  -идешь  хлоп белая полоса "загрузка" вроде и ждешь
А как по твоему в HL переходы между уровнями происходят? Или ты думал что там бесшовный мир  :D. Короче так и должно быть на любом железе.

не ну скакала в поезде ,но была надежда ,что терпимо будет дальше ,а дельше был ппц   ,надо будет глянуть на нативных железках 1p\v2  и 3p\v3 ,скорее 1 мало будет 2 много
Попробуй. Особенно если запишешь на видео 1p\v2, чтоб можно было сравнить с ситуацией в PCem 1p\v1, было бы вообще отлично.

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #252 : 20 Сентябрь 2016, 19:28:57 »
еще видео с реального Voodoo Graphics:

в анрил, и анрил турнамент на средних (на 5:00), вполне играбельно.

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
Re: PCem - эмулятор старого PC-железа
« Ответ #253 : 20 Сентябрь 2016, 19:36:38 »
Ogr, на 2 вуду в анриле пол вроде не зеркальный как на 2 видео ,на 3 круть

Добавлено позже:
А как по твоему в HL переходы между уровнями происходят? Или ты думал что там бесшовный мир  :D. Короче так и должно быть на любом железе.
Попробуй. Особенно если запишешь на видео 1p\v2, чтоб можно было сравнить с ситуацией в PCem 1p\v1, было бы вообще отлично.
плавные подгрузки позднее появились ,ну не так радикально ,на той машинке это был край =)

что писануть ? попробую завтра.
« Последнее редактирование: 20 Сентябрь 2016, 19:43:43 от blackoff »

Оффлайн xttx

  • Пользователь
  • Сообщений: 240
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #254 : 20 Сентябрь 2016, 20:01:33 »
Потестил Turok 2 и в нём всё указывает на очень сильную процессорозависимость этой игры, так как на каких угодно настройках графики fps остаётся одним и тем же (6-14fps, чаще всего 8fps) при 100% скорости эмуляции разумеется.
Интересно... У меня получилось только:
при cache: some; = эмуляция: 100%; fps: ~5-6; визуально всё дёргается.
при cache: infinite; = эмуляция: 50-60%; fps: ~15-16; визуально не дёргается, но slow-motion.
т.е. стопроцентной эмуляции и хотя бы 10и фпс я получить не смог (i7@3.5ghz).
Ты с профильной оптимизацией компилировал? (Если да, то расскажи чем профилировал?) Или это на экстриме каком ни будь тестировалось?


Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #255 : 20 Сентябрь 2016, 20:17:09 »
на 2 вуду в анриле пол вроде не зеркальный как на 2 видео ,на 3 круть
Везде он зеркальный, если в настройках отражения не вырублены.

плавные подгрузки позднее появились ,ну не так радикально ,на той машинке это был край
Какие ещё плавные подгрузки? Переходы между уровнями как были, так и остались. О чём ты говоришь я не понимаю? Причём тут CPU, GPU и FPS, если скорость загрузки уровней больше от оперативки и винта зависит, и к скорости игрового процесса не имеет отношения. Мы же вроде сравниваем как играется, а не сколько перед этим грузится.

что писануть ? попробую завтра.
Да Half-Life и писани. Как кабинка едет и как дальше играется.
И Turok 2 тоже хорошо было бы посмотреть, раз уж его тоже обсуждали.

в анрил, и анрил турнамент на средних (на 5:00), вполне играбельно.
Ну да, как и в истории с моей сборкой максимально дешёвого компа под HL. Если 20fps нервная система готова перенести, то играбельно. В 90х ещё и не такое для нашего брата считалось играбельным  :D.

Интересно... У меня получилось только:
при cache: some; = эмуляция: 100%; fps: ~5-6; визуально всё дёргается.
при cache: infinite; = эмуляция: 50-60%; fps: ~15-16; визуально не дёргается, но slow-motion.
Я кроме cache: lot, практически никогда другие значения кэша не использую. На lot у меня практически всегда 100% и результаты при тормозящей эмуляции я даже рассматривать не хочу. Как можно оценивать скорость работы чего-либо в эмуляторе, когда скорость самой эмуляции бьётся в припадках? Соответственно в Turok 2, 6-14fps было именно с lot и при 100%. Slow-motion у меня с этим fps тоже на месте.

т.е. стопроцентной эмуляции и хотя бы 10и фпс я получить не смог (i7@3.5ghz).
Ну у нас могут быть разные эмулируемые железки например. У тебя такой же набор - Win98SE на 430VX+Mach64+P233MMX+SB16+64RAM+Voodoo ? Ну и да, на "lot" попробуй. По большому счёту то, что fps у меня иногда поднимался до 14fps, роли то всё равно особой не играет. Как я уже писал чаще всего всё равно на 8fps всё работает.

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #256 : 20 Сентябрь 2016, 20:27:58 »
Везде он зеркальный, если в настройках отражения не вырублены.
Какие ещё плавные подгрузки? Переходы между уровнями как были, так и остались. О чём ты говоришь я не понимаю?
в анрил 1 и тот же рип вроде гонял на 2 машинках...
завтра соберу -гляну...
про плавные подгрузки не о халфе ,даже не между уровнями,идешь по коридору -хлоп лоадинг и как на паузе + игра тормозит ,бесило все ,понятно что машинка говно была но все же .больше я в 1 часть никогда не играл. =)

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #257 : 20 Сентябрь 2016, 20:47:58 »
Ты с профильной оптимизацией компилировал? (Если да, то расскажи чем профилировал?) Или это на экстриме каком ни будь тестировалось?
Проглядел этот вопрос. Исправляюсь: я компилировал твоей сборкой и по твоей инструкции из вот этого поста.

Добавлено позже:
Или о компиляции чего речь?  :)

Оффлайн xttx

  • Пользователь
  • Сообщений: 240
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #258 : 20 Сентябрь 2016, 21:54:27 »
Softer, Конфиги у нас практически идентичные, только у меня звук SBPro v2, и памяти 128mb, но это вряд ли что-то поменяет, а вот cache: lot действительно может оказаться золотой серединой... Я завтра утром попробую.

А вот профильная оптимизацию, если кому то будет не лень попробовать - конкретно для pcem даёт 15-20% скорости. У меня, к сожалению руки пока не дошли разобраться, но в теории порядок действий такой:
1). Нужно открыть файл src/Makefile.mingw и добавить в строчку, начинающуюся на "CFLAGS = " ключи "-fprofile-arcs -ftest-coverage -fprofile-generate"
2). В том же файле, добавить в строчку, начинающуюся на "LIBS = " библиотеку "-lgcov"
3). Скомпилировать. Это сгенерирует екзешник, как обычно. Его нужно запустить, и активно поюзать на нём что-то трёхмерное. (Вот тут я не очень знаю как оно работает, но по моим представлениям, достаточно по 5 секунд позапускать несколько игрушек максимально по разному использующих проц и 3д ускоритель, и до кучи ещё запустить что-то использующее кэш и самомодифицирующий код (Star Wars Racer, Duke Nukem), поправьте меня если это не так работает). Важно: полученый ехе должен запускатся только из директории /src, если он будет перенесён, то профайлы не сгенеряться. По этому просто копируем в директорию /src папку roms и pcem.cfg из рабочей версии pcem, и убеждаемся что в pcem.cfg нет относительных путей к дискам. Эмулятор на данном этапе будет довольно сильно тормозить, это нормально.
4). После выхода из эмулятора сгенерятся файлы *.gcda
5). Убрать из src/Makefile.mingw "-fprofile-arcs -ftest-coverage -fprofile-generate" и добавить вместо них "-fprofile-use -fprofile-correction -flto"
6). Стереть из /src все файлы *.o, *.res и екзешник и перекомпилировать.
7). Всё это должно дать значительный прирост производительности.

Как-то так... Может кто попробует...
« Последнее редактирование: 21 Сентябрь 2016, 12:52:45 от xttx »

Оффлайн xttx

  • Пользователь
  • Сообщений: 240
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #259 : 21 Сентябрь 2016, 11:25:48 »
В общем сделал я так, как писал постом выше. То что собралось, дало мне +5 фпс в турке 2, но эмуляция проца теперь падает ниже ста процентов иногда. Не знаю где я намудрил...

PS. Обновил пост выше, в соответствии с тем, как получилось заставить это всё работать.

« Последнее редактирование: 21 Сентябрь 2016, 12:31:32 от xttx »

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #260 : 21 Сентябрь 2016, 16:36:41 »
пара камрипов =)  ,HL и T2 p233mmx\128mb  ,s3\2mb +v2

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #261 : 22 Сентябрь 2016, 16:59:55 »
Как-то так... Может кто попробует...
В общем сделал я так, как писал постом выше. То что собралось, дало мне +5 фпс в турке 2, но эмуляция проца теперь падает ниже ста процентов иногда. Не знаю где я намудрил...
Попробовал и я сделать PGO по твоей инструкции. Делал это с изрядной долей скепсиса, так как когда-то этот вопрос поднимался по отношению к PCSX2 и на практике приносил прирост там, где было условно 200fps, делая из них 210fps. Там же где были проблемы с производительностью всё это профилирование было как мёртвому припарка.
В общем с PCem тоже не получил никаких положительных результатов. Как было в "Turok 2" 6-14fps при "lot" кэше  и 100% - так и осталось. Как было в нём же ~16-30fps при "infinite" кэше и болтающемся проценте скорости эмуляции - так и осталось. Ты написал, что у тебя эмуляция проца после PGO стала падать ниже 100% - имеется в виду процент из заголовка основного окна или "CPU time" из окна статуса? В любом случае у меня оба счётчика ведут себя одинаково и с PGO и без него. Даже не знаю как у тебя получилось +5fps получить, я вроде все условия соблюдал. Единственная разница может быть в наборе игр используемом для создания PGO и разницы во времени их прогонки после запуска. У меня запускались Half-Life, Quake 2, Prince of Persia 3D, Turok 2, Star Wars Racer, Sub Culture и гонял я их существенно дольше 5 секунд.

пара камрипов   ,HL и T2 p233mmx\128mb  ,s3\2mb +v2
Спасибо. Хоть и сложно понять fps по такому камрипу, но примерно производительность понять можно. В PCem Half-Life при 800x600 идёт медленнее и это соответствует тому факту, что в PCem эмулируется Voodoo 1, а не Voodoo 2. В Turok 2 с Voodoo 2 производительность на глаз такая-же, как в PCem с Voodoo 1 при "infinite" кэше, c поправкой на вызываемые этим кэшем просадки скорости эмуляции и следовательно слоумо.

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #262 : 22 Сентябрь 2016, 17:10:10 »
Спасибо. Хоть и сложно понять fps по такому камрипу
другого варианта как\чем записать не нашел. халфа ща шла веселее чем в "смутные времена" ,есть варианты что прицепить на счетчик кадров?

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #263 : 22 Сентябрь 2016, 17:19:05 »
есть варианты что прицепить на счетчик кадров?
старую версию фрапс под 98?

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #264 : 22 Сентябрь 2016, 17:25:23 »
другого варианта как\чем записать не нашел. халфа ща шла веселее чем в "смутные времена" ,есть варианты что прицепить на счетчик кадров?
У халфы есть встроенный счётчик в пропатченной версии, а у тебя судя по видео - пропатченная. Впиши в её ярлык запускающий hl.exe после адреса к нему -dev. Это даст доступ к консоли. Консоль вызывается тильдой. В игре вбей в неё "cl_showfps 1" без кавычек. Это даст тебе счётчик в углу.
Можно ещё Quake 2 для тестов использовать, там есть процедура бенчмарка, запускаемая через консоль с выводом в конце среднего FPS.
"timedemo 1"
"demomap demo1.dm2" и/или "demomap demo1.dm2" если что.
старую версию фрапс под 98?
Сомневаюсь что Fraps вообще когда-нибудь поддерживал 3Dfx Glide. А вот OGL/D3D это да, всегда пожалуйста.

Also when trying to do some profile generation I set the Voodoo threads to 1 and crank the CPU to PMMX 300 with Infinite cache and then run Battlezone 2 demo (which has no menu system, DX6 zealousy check or movies to fail on) and watch that crawl through the mission intro for awhile, since BZ2 is a particularly Intel-favoring MMX-abusing game.
На повторную компиляцию с использованием этого совета меня уже не хватило. У тебя +5fps были с его использованием получены или нет?
« Последнее редактирование: 22 Сентябрь 2016, 19:29:24 от Softer »

Оффлайн Ogr

  • Пользователь
  • Сообщений: 7381
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #265 : 22 Сентябрь 2016, 17:32:08 »
Можно ещё Quake 2 для тестов использовать, там есть процедура бенчмарка, запускаемая через консоль с выводом в конце среднего FPS.
как и UT99.

Оффлайн blackoff

  • Пользователь
  • Сообщений: 8306
  • Пол: Мужской
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #266 : 22 Сентябрь 2016, 19:42:52 »
чисто фпс , в приемной ~25 .

Оффлайн xttx

  • Пользователь
  • Сообщений: 240
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #267 : 23 Сентябрь 2016, 11:18:58 »
На повторную компиляцию с использованием этого совета меня уже не хватило. У тебя +5fps были с его использованием получены или нет?
Я использовал Battle zone 2, Turok 2 и Star Wars Racer. Гонял где-то по минуте. То что собралось - во вложении, можешь попробовать, если есть желание.
У меня оно ведёт себя так, как будто в кэше появилось промежуточное значение между lot и infinite - т.е. фпс немножко подрос, но эмуляция прыгает 90% - 100% (я имею в виду циферку в тайтл-баре, не "CPU time").

PS. Есть у меня подозрение, что что-то у меня не так с конфигурацией железа на хосте, т.к. даже с этой оптимизированной сборкой мне далеко до твоих 6-14 и 16-30фпс в турке (с версией что во вложении, имею 5-7 и 15-24 соответственно). Возможно слишком агрессивная регулировка частоты у проца (вроде при нагрузке он должен держать максимальную частоту, даже разгоняться немного, но у меня, даже при активном pcem сильно прыгает).
Даже и не знаю почему так...

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #268 : 23 Сентябрь 2016, 13:57:18 »
Есть у меня подозрение, что что-то у меня не так с конфигурацией железа на хосте, т.к. даже с этой оптимизированной сборкой мне далеко до твоих 6-14 и 16-30фпс в турке (с версией что во вложении, имею 5-7 и 15-24 соответственно). Возможно слишком агрессивная регулировка частоты у проца (вроде при нагрузке он должен держать максимальную частоту, даже разгоняться немного, но у меня, даже при активном pcem сильно прыгает).
Сброс частоты процессора абсолютно точно не является причиной, так как это следствие. Следствие чего - ниже.
Набросал на скриншот значения выводимые PCem в своё окно статистики:
Скриншот сделан на версии скомпилированной без PGO. Кэш выставлен Infinite. Из чего следует, что с неограниченным кэшем - эмуляция упёрлась в потолок одного ядра CPU при эмуляции виртуального CPU. Чего не достаточно для полной скорости эмуляции, которая просела до 90%. В то время как Voodoo двумя своими потоками суммарно даже эквивалент производительности одного ядра не выбирает. Никакого сброса частот при неограниченном кэше происходить у тебя не должно и я думаю не происходит.
Если же кэш ограничить любым значением, то эмуляция CPU уже не будет потреблять столько ресурсов реального ядра, сколько сможет "унести", а лишь до определённого предела, как-то обусловленного этим самым кэшем. При этом беря за 100% скорости эмуляции этот самый предел. Это и является причиной сбрасывания системой частот твоего CPU, так как он простаивает. Причём вовсе не обязательно, что ограниченного кэша хватит на полноценную эмуляцию с сохранением оригинальных характеристик производительности всех поддерживаемых PCem CPU. Как показывает практика, самые быстрые CPU с ограниченным кэшем эмулируются с ограниченным относительно их оригинала КПД и это в PCem считается 100% скоростью их эмуляции. Совершенно очевидно, что на любом значении ограничивающем кэш, тот же P233MMX со своим оригинальным КПД не вытягивается. А с неограниченным у меня например упирается в потолок производительности ядра моего не разогнанного i5-4690K(3.5Ghz).

Если сомневаешься, что сброс частоты CPU обусловлен слабой нагрузкой на него из за ограниченного кэша, и думаешь что причинно-следственный вектор всё же направлен с другой стороны, то можно проверить на практике. Сброс частоты отключается в винде следующим путём - электропитание / настройка плана электропитания / изменить дополнительные параметры питания / управление питанием процессора / минимальное состояние процессора = 100%.

P.S. Так что причиной твоих 24fps при неограниченном кэше в Turok 2, против моих 30fps, является разница в производительность на ядро наших CPU. Ну и PGO конечно как был мёртвому припакрой, так и остался. Сейчас скачаю твою PGO сборку и сделаю скриншот с неё, чтоб ещё раз убедиться самому и тебя попробовать убедить  :).
« Последнее редактирование: 23 Сентябрь 2016, 14:46:40 от Softer »

Оффлайн Softer

  • Пользователь
  • Сообщений: 4198
  • Пол: Мужской
    • Steam
    • Просмотр профиля
PCem - эмулятор старого PC-железа
« Ответ #269 : 23 Сентябрь 2016, 14:21:08 »
Как и обещал, вот скриншот из твоей сборки с неограниченным кэшем:
И несмотря на то, что в моём случае fps не изменился, изменилась зато скорость эмуляции, она выросла. Проверил это на своей сборке с PGO и в ней то же самое изменение в лучшую сторону. Из за того, что искал озвученные тобой +5fps, ранее даже не обратил внимание на скорость эмуляции  :).