Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Вектор (http://zx-pk.ru/forumdisplay.php?f=55)
-   -   Вектор-06Ц: Эмуляция (http://zx-pk.ru/showthread.php?t=8634)

Ramiros 26th November 2012 21:47

Скжу так, в компиляторах я неочень разбираюсь, но на моем старом Athlon XP 3200+ (Barton) VV отъедал около 70..80% процессорного времени (на дефолтных настройках), сейчас у меня новый комп AMD APU-10 5800k и на нем VV отъедает не более 20% процессорного времени.
Есть в VV некоторые фичи, которые отжирают много процесорных ресурсов (о них я писал в мануале), их лучше невключать если проц слабый. Еще прожорливость VV связана с высокой точностью эмуляции видеоадаптера, кучей всяких фич типа профайлера, .cas перехватчика и т.п.
Можно конечно почистить код от всех неособо нужных фич, сделать лайт версию, но тащить два варианта эмуля нет ни желания, ни времени.

PPC 27th November 2012 18:20

Quote:

Originally Posted by b2m (Post 555156)
Можно ещё поиграться со строками main.fullscreen.scale, подобрав разрешение и масштабирование (в надежде получить правильные цвета и пропорции), но учти, что по Х это может быть только 1 или 2, а если 2, то нельзя 32 бит.

b2m, я поигрался, эффект практически тот-же. Перепробовал значения BPP 32,16,8 но они сильно не влияют.

А в принципе, в чём сложность отключать AA при рендеринге? Я абсолютно не знаком с D2D и D3D API, никогда с ними не работал. Покурил сегодня с утра мануалы пол-часа. Вроде как если используется D2D, всё что надо сделать при инициализации
перед вызовом IDXGIFactory::CreateSwapChain это

DXGI_SWAP_CHAIN_DESC dscd;
dscd.SampleDesc.Count = D2D1_ANTIALIAS_MODE_ALIASED;
...
IDXGIFactory::CreateSwapChain(d3dDevice, &dscd, ...)

Кроме того, если рендеринг производится в multisample buffer (не думаю, что ты так делаешь), надо перед рендерингом вызывать

DWORD dwFalse = 0;
d3dDevice.SetRenderState(D3DRS_MULTISAMPLEANTIALIA S, &dwFalse);

Ну и также если рендеринг сделан с помощью D3D API (не твой случай), и где-то в цепочке рендеринга вызывается StretchRect(IDirect3DSurface, RECT, IDirect3DSurface, RECT, D3DTEXTUREFILTERTYPE), то вроде как надо настроить texture filter заполнив D3DTEXTUREFILTERTYPE.

Может я правда чего-то упустил так как по-диагонали MSDN читал, но вроде как несложно должно быть.

b2m 28th November 2012 11:36

Quote:

Originally Posted by PPC (Post 555432)
b2m, я поигрался, эффект практически тот-же. Перепробовал значения BPP 32,16,8 но они сильно не влияют.

Если указанный режим не найден в списке доступных, то настройка игнорируется.

А переделывать на D2D/D3D нет ни времени, ни желания. Я использовал старенький DirectDraw, благодаря чему эмулятор не требователен к установленному софту.

yur 4th December 2012 02:57

у меня на 7 винде эмуль VV ужасно тормозит, а на хр вообще включается только при особых настройках экрана

Ramiros 4th December 2012 10:07

yur, я похож на телепата? озвуч подробный конфиг своего железа, и в чем VV запускаеш, в виртуальной машине или еще как?

yur 5th December 2012 21:19

запускаю как обычно - кликом по ярлыку.
семёрка стоит на ноуте compaq, проц интел - 2 ядра,частота 2 ггц
видео mobile intel(R) 965 Express Chipset Family

Ramiros 6th December 2012 16:45

Quote:

Originally Posted by yur (Post 557207)
запускаю как обычно - кликом по ярлыку.
семёрка стоит на ноуте compaq, проц интел - 2 ядра,частота 2 ггц
видео mobile intel(R) 965 Express Chipset Family

Проц не Atom случайно? на Атоме бесполезно, мертвый проц, еще на Интеловское видео дрова обычно кривущие, попробуй обновить.

у меня на нетбуке Atom 1,6ГГц и видео Intel GMA950 VV идет без глюков, но FPS максимум 25 кадров.

Tim0xA 9th December 2012 23:13

Ramiros обновил эмулятор. Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы". Новая версия 6.71

Ramiros 10th December 2012 09:57

в новой версии появилась опция High priority Application (повысить приоритет эмулятора) дает эффект на слабых компах, еще в связи с одновлением моего компа и переходом на win7 и ATI графику, были обнаружены и пофиксены некоторые проблемы с графическими режимами (например невидимость меню в полноэкранном режиме и еще некоторые глюки). Переделан опрос джойстика.

PPC 11th December 2012 15:24

Спасибо, Ramiros.
Есть одна просьба по эмулю. Возможно-ли сделать в подменю Display Size дополнительную опцию Lock Video Mode, которая бы отключала смену разрешения горячими клавишами F8-F10.

Просто мне очень часто приходится использовать смену тактовых частот ALT + F9/F10 и случается, что <ALT> не дожимаю до конца в спешке. Эмуль меняет разрешение, и потом приходится руками выставлять custom разрешение.

Есть ещё вариант, поменять горячие клавиши смены разрешения с клавишами смены тактовой частоты, так чтобы <ALT>+<key> всегда меняла разрешение, а F8-F10 без альта - частоты. Обоснование - полноэкранный режим использует альт в комбинации <ALT> + <ENTER>, а частоты CPU при работе приходится менять куда чаще, чем разрешение.

Заранее благодарен.

Ramiros 12th December 2012 09:32

Quote:

Originally Posted by PPC (Post 558510)
Есть ещё вариант, поменять горячие клавиши смены разрешения с клавишами смены тактовой частоты, так чтобы <ALT>+<key> всегда меняла разрешение, а F8-F10 без альта - частоты. Обоснование - полноэкранный режим использует альт в комбинации <ALT> + <ENTER>, а частоты CPU при работе приходится менять куда чаще, чем разрешение.

Заранее благодарен.

Зделаю по этому варианту.

Tim0xA 12th December 2012 23:23

Обновился эмулятор. Версия 6.72
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы".

Tim0xA 27th December 2012 10:20

Обновился эмулятор. Версия 6.73
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы".

PPC 29th December 2012 15:13

Ramiros,

Triple Display size - вещь!

А что ещё поменялось? Возможно, что-то связанное с недавним прогоном экзорциста и эмуляцией i8085? Огласите весь список, pls.

Визуально заметил некоторую задержку при выходе из эмуля, которой раньше не было. Если это не фича, возможно-ли это пофиксить?

Иногда, крайне редко, эмуль "не возвращается" после клика в меню, и помогает только перезапуск. Это было и в старых версиях (в основном кликаю на опцию Drive A/B Read Only).

Ramiros 29th December 2012 17:46

Quote:

Originally Posted by PPC (Post 562749)
Ramiros,

А что ещё поменялось? Возможно, что-то связанное с недавним прогоном экзорциста и эмуляцией i8085? Огласите весь список, pls.

Визуально заметил некоторую задержку при выходе из эмуля, которой раньше не было. Если это не фича, возможно-ли это пофиксить?

Иногда, крайне редко, эмуль "не возвращается" после клика в меню, и помогает только перезапуск. Это было и в старых версиях (в основном кликаю на опцию Drive A/B Read Only).

i8085 без изменений т.к. ошибок пока неонаружено.
задержка на выходе, это чтобы плавно громкость убавить (щелчек раздражает).
появилась еще опция "Auto Save/Restore State on Exit/Start".
еще теперь рендеринг картинки неотключаю во время показа меню.
из глюков - пофиксено умирание эмуля после долгого простоя в фоновом режиме с открытым меню (почему то засыпал поток эмуляции CPU).

когда то давно, когда я еще только начал переносить эмуль из ДОСа на винду (в 2003 г.), я сделал эмуляцию CPU в отдельном потоке а Видеоадаптер и все остальное в основном потоке, тогда мне это казалось наиболее оптимальным решением, потом я конечно нахлебался со всякой синхронизацией потоков и т.п. но щас это дает приемущество на многопроцессорных системах (например на моем компе с 4мя ядрами спокойно на полной скорости запускаются 10 копий эмулятора и все дают 50 Гц). правда из за этой многопоточности и сейчас еще иногда бывают глюки с неожиданным повисанием, которые крайне непросто отловить.

yur 11th April 2013 01:35

Quote:

Originally Posted by Ramiros (Post 556910)
yur, я похож на телепата? озвуч подробный конфиг своего железа, и в чем VV запускаеш, в виртуальной машине или еще как?

Ramros, нашёл я время и выяснил причину - какимто макаром конфиг был искривлён

Tim0xA 25th May 2013 14:43

Обновился эмулятор. Версия 6.74
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы".

svofski 25th May 2013 19:39

Tim0xA, Ramiros, озвучивайте изменения, пожалуйста.

Ramiros 25th May 2013 21:39

флажек Read Only для FDD сохраняется при выходе, раньше несохранялся. PPC наверное каждый раз его щелкает :)

PPC 26th May 2013 11:10

Quote:

Originally Posted by Ramiros (Post 604223)
PPC наверное каждый раз его щелкает :)

Ой, спасибки. Для меня R/W - режим работы по-умолчанию на всех устройствах :v2_thumb:
Ещё-бы пофиксить редкие зависы, когда в меню что-нибудь меняется, а "назад дороги нет", и будет сказка, а не эмуль.
Одно спасает, VV отлично сохраняет изменения даже после зависа процового треда.

svofski 29th May 2013 17:47

Ramiros, я вот игрался с закачкой видео от PPC и мы столкнулись с некоторыми трудностями, связанными с масштабированием картинки к фиксированным размерам, которые понимает ютуба. Например, если видео 480p, оно должно быть 640x480 для пропорции 4:3, иначе видео перекодируется-перемасштабируется максимально богопротивным способом и смотреть его невозможно.

Жизнь стала бы проще, если бы был режим паддинга до указанного размера. Смысл в том, что я могу в настройках эмулятора указать метод масштабирования по вкусу, в отличие от перекодирующей программы, у которой настройки не всегда подходят для эмуляторов. В видео кодек (и на экран) будет передаваться всегда фиксированное разрешение, те же 640x480, но внутри этого прямоугольника будет изображение с эмулятора, отмасштабированное удобным для эмуляции способом. Например, 360х256, если мне хочется примерно правильных пропорций, или 256х256, если мне очень хочется пиксель к пикселю, или растянутое на все 640х480, если мне хочется заполнить весь экран.

А для 720p (1280х720) это вообще было бы идеально: 512 строк + бордюр почти идеально вписываются.

Все это можно делать и руками, разумеется. Но было бы прикольно.

Ramiros 30th May 2013 09:29

Уже совсем забыл - в режиме 4:3 эмулятор маштабирует (т.е. режет строки по вертикали) и видео получается уже искаженным. Если в настройках эмуля Screen->Display Size->Proportion 4:3 снять галку, то видео будет квадратное 576х576 т.е. пиксель к пикселю. Я думаю для получения наиболее качественного видео это будет полезно.

svofski 30th May 2013 16:44

Quote:

Originally Posted by Ramiros (Post 605503)
Уже совсем забыл - в режиме 4:3 эмулятор маштабирует (т.е. режет строки по вертикали) и видео получается уже искаженным. Если в настройках эмуля Screen->Display Size->Proportion 4:3 снять галку, то видео будет квадратное 576х576 т.е. пиксель к пикселю. Я думаю для получения наиболее качественного видео это будет полезно.

Хороший совет -- PPC, в следующий раз делай видео квадратным, тогда количество перемасштабирований будет меньше.

PPC 9th November 2013 22:52

Ramiros ,
Мне кажется, что отладчик в VV не показывает при пошаговом исполнении содержимое 16К страницы квазидиска при записи в порт 10h управляющего слова 001000xx (доступ как память) и передаче управления на адреса A000-DFFF.
Ещё вроде, при отключении AY8910/12 (None в меню Sound), тесты на её присутствие всё равно показывают наличие AY.
По памяти: что-то вроде кода внизу должно возвращать 0 при отсутствии звуковухи.
Code:

mvi a, 6
out 15h
mvi a, 1
out 14h
in 14h
ani 1

Ты не мог бы поглядеть?

Ramiros 9th November 2013 23:04

Отладчик дизасемблирует содержимое только основной памяти, квазидиск не дизасемблируется, почему, щас непомню уже, вроде как невозможно четко определить что именно надо дизасемблировать.
AY посмотрю, если че исправлю.

PPC 9th November 2013 23:10

Quote:

Originally Posted by Ramiros (Post 642716)
AY посмотрю, если че исправлю.

Жаль конечно, что в квазидиске отладка не работает.

А с АY - ложная тревога. Это я перемудрил. Правильный код (если кому надо):
Code:

mvi a, 6
out 15h
mvi a, 1
out 14h
in 14h
cpi 1


Ramiros 9th November 2013 23:29

может сделать ручной выбор памяти для отладчика?

PPC 9th November 2013 23:41

Ручной конечно лучше, чем никакого, но когда много переключений банков, будет заморочно немного. А может автоматом состояние порта квазидиска отслеживать? Там немного комбинаций, фактически только за 5м битом надо следить, основная память, или страничная.
Правда, если бит 5 выставлен в 1, придётся на ходу подменять адреса A000-DFFF в соответствии с выбранной страницей в битах 1 и 0.

Ramiros 10th November 2013 10:32

ок. посмотрю че можно сделать

Ramiros 12th November 2013 08:50

пока так буду выкладываю, тимоха сайт забросил :(
VV 6.75 поправил отладчик, теперь данные отображаются по состоянию регистра 10h.

PPC 12th November 2013 16:17

Quote:

Originally Posted by Ramiros (Post 643336)
пока так буду выкладываю, тимоха сайт забросил

Спасибо, Ramiros , очень быстро. Грустные новости, что сайт заброшен. Надеюсь, Tim0xA вернётся к поддержке сайта. А вообще, твой эмуль достоин отдельной ветки.

svofski 13th November 2013 14:03

Ramiros, я могу у себя похостить твой эмулятор. Ок?

Ramiros 13th November 2013 18:06

Quote:

Originally Posted by svofski (Post 643788)
Ramiros, я могу у себя похостить твой эмулятор. Ок?

Ок. буду рад :)

svofski 14th November 2013 11:57

Как-то так — http://sensi.org/~svo/virtualvector

Tim0xA 14th November 2013 15:15

Quote:

Надеюсь, Tim0xA вернётся к поддержке сайта.
Я сам надеюсь, просто времени свободного нет.
Хостинг с народа на укоз перевели, а там фреймы не поддерживаются. Вот сайт и поломался. Быстрого решения не нашел, потому так и осталось. Может коллеги дадут дельный совет, чтобы по-быстрому поправить.

svofski 14th November 2013 16:39

Я бы просто похерил фреймы, все равно это пережиток древний и уже нигде его не встретишь. Рад бы предложить помощь в переверстке, но боюсь, что пообещаю и не сделаю. А динамическое что-то на этом укозле есть, или только статические странички?

---------- Post added at 15:39 ---------- Previous post was at 15:37 ----------

Вот, кстати, Ramiros, а ты не ведешь какой-нибудь журнал изменений? Чтобы можно было написать, мол,
версия 6.75, исправлено:
- бла
- бла
добавлено
- бла
¿

Ramiros 14th November 2013 17:52

Quote:

Originally Posted by svofski (Post 644263)
Ramiros, а ты не ведешь какой-нибудь журнал изменений? Чтобы можно было написать, мол,
версия 6.75, исправлено:
- бла
- бла
добавлено
- бла
¿

неа, только на форуме отписывался :)

marinovsoft 15th November 2013 16:47

При попытке открытия файла VV_675.changelog.txt
получаю
Code:

403 Forbidden
Code: AccessDenied
Message: Access Denied
RequestId: 26EE7C3B68EDEA01
HostId: 2TiXeVqRddI0I6NBs6wBwlLAnFYd3F77r5EQyx695plOAE8vVcxNBy0kidIMuwdM


svofski 15th November 2013 18:42

Ну так см. выше, потому что его нет :)

marinovsoft 15th November 2013 18:49

А ссылка есть.


All times are GMT +4. The time now is 23:42.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.