![]() |
Скжу так, в компиляторах я неочень разбираюсь, но на моем старом Athlon XP 3200+ (Barton) VV отъедал около 70..80% процессорного времени (на дефолтных настройках), сейчас у меня новый комп AMD APU-10 5800k и на нем VV отъедает не более 20% процессорного времени.
Есть в VV некоторые фичи, которые отжирают много процесорных ресурсов (о них я писал в мануале), их лучше невключать если проц слабый. Еще прожорливость VV связана с высокой точностью эмуляции видеоадаптера, кучей всяких фич типа профайлера, .cas перехватчика и т.п. Можно конечно почистить код от всех неособо нужных фич, сделать лайт версию, но тащить два варианта эмуля нет ни желания, ни времени. |
Quote:
А в принципе, в чём сложность отключать 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 читал, но вроде как несложно должно быть. |
Quote:
А переделывать на D2D/D3D нет ни времени, ни желания. Я использовал старенький DirectDraw, благодаря чему эмулятор не требователен к установленному софту. |
у меня на 7 винде эмуль VV ужасно тормозит, а на хр вообще включается только при особых настройках экрана
|
yur, я похож на телепата? озвуч подробный конфиг своего железа, и в чем VV запускаеш, в виртуальной машине или еще как?
|
запускаю как обычно - кликом по ярлыку.
семёрка стоит на ноуте compaq, проц интел - 2 ядра,частота 2 ггц видео mobile intel(R) 965 Express Chipset Family |
Quote:
у меня на нетбуке Atom 1,6ГГц и видео Intel GMA950 VV идет без глюков, но FPS максимум 25 кадров. |
Ramiros обновил эмулятор. Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы". Новая версия 6.71
|
в новой версии появилась опция High priority Application (повысить приоритет эмулятора) дает эффект на слабых компах, еще в связи с одновлением моего компа и переходом на win7 и ATI графику, были обнаружены и пофиксены некоторые проблемы с графическими режимами (например невидимость меню в полноэкранном режиме и еще некоторые глюки). Переделан опрос джойстика.
|
Спасибо, Ramiros.
Есть одна просьба по эмулю. Возможно-ли сделать в подменю Display Size дополнительную опцию Lock Video Mode, которая бы отключала смену разрешения горячими клавишами F8-F10. Просто мне очень часто приходится использовать смену тактовых частот ALT + F9/F10 и случается, что <ALT> не дожимаю до конца в спешке. Эмуль меняет разрешение, и потом приходится руками выставлять custom разрешение. Есть ещё вариант, поменять горячие клавиши смены разрешения с клавишами смены тактовой частоты, так чтобы <ALT>+<key> всегда меняла разрешение, а F8-F10 без альта - частоты. Обоснование - полноэкранный режим использует альт в комбинации <ALT> + <ENTER>, а частоты CPU при работе приходится менять куда чаще, чем разрешение. Заранее благодарен. |
Quote:
|
Обновился эмулятор. Версия 6.72
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы". |
Обновился эмулятор. Версия 6.73
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы". |
Ramiros,
Triple Display size - вещь! А что ещё поменялось? Возможно, что-то связанное с недавним прогоном экзорциста и эмуляцией i8085? Огласите весь список, pls. Визуально заметил некоторую задержку при выходе из эмуля, которой раньше не было. Если это не фича, возможно-ли это пофиксить? Иногда, крайне редко, эмуль "не возвращается" после клика в меню, и помогает только перезапуск. Это было и в старых версиях (в основном кликаю на опцию Drive A/B Read Only). |
Quote:
задержка на выходе, это чтобы плавно громкость убавить (щелчек раздражает). появилась еще опция "Auto Save/Restore State on Exit/Start". еще теперь рендеринг картинки неотключаю во время показа меню. из глюков - пофиксено умирание эмуля после долгого простоя в фоновом режиме с открытым меню (почему то засыпал поток эмуляции CPU). когда то давно, когда я еще только начал переносить эмуль из ДОСа на винду (в 2003 г.), я сделал эмуляцию CPU в отдельном потоке а Видеоадаптер и все остальное в основном потоке, тогда мне это казалось наиболее оптимальным решением, потом я конечно нахлебался со всякой синхронизацией потоков и т.п. но щас это дает приемущество на многопроцессорных системах (например на моем компе с 4мя ядрами спокойно на полной скорости запускаются 10 копий эмулятора и все дают 50 Гц). правда из за этой многопоточности и сейчас еще иногда бывают глюки с неожиданным повисанием, которые крайне непросто отловить. |
Quote:
|
Обновился эмулятор. Версия 6.74
Брать здесь http://vector06c.narod.ru в разделе "Эмуляторы". |
Tim0xA, Ramiros, озвучивайте изменения, пожалуйста.
|
флажек Read Only для FDD сохраняется при выходе, раньше несохранялся. PPC наверное каждый раз его щелкает :)
|
Quote:
Ещё-бы пофиксить редкие зависы, когда в меню что-нибудь меняется, а "назад дороги нет", и будет сказка, а не эмуль. Одно спасает, VV отлично сохраняет изменения даже после зависа процового треда. |
Ramiros, я вот игрался с закачкой видео от PPC и мы столкнулись с некоторыми трудностями, связанными с масштабированием картинки к фиксированным размерам, которые понимает ютуба. Например, если видео 480p, оно должно быть 640x480 для пропорции 4:3, иначе видео перекодируется-перемасштабируется максимально богопротивным способом и смотреть его невозможно.
Жизнь стала бы проще, если бы был режим паддинга до указанного размера. Смысл в том, что я могу в настройках эмулятора указать метод масштабирования по вкусу, в отличие от перекодирующей программы, у которой настройки не всегда подходят для эмуляторов. В видео кодек (и на экран) будет передаваться всегда фиксированное разрешение, те же 640x480, но внутри этого прямоугольника будет изображение с эмулятора, отмасштабированное удобным для эмуляции способом. Например, 360х256, если мне хочется примерно правильных пропорций, или 256х256, если мне очень хочется пиксель к пикселю, или растянутое на все 640х480, если мне хочется заполнить весь экран. А для 720p (1280х720) это вообще было бы идеально: 512 строк + бордюр почти идеально вписываются. Все это можно делать и руками, разумеется. Но было бы прикольно. |
Уже совсем забыл - в режиме 4:3 эмулятор маштабирует (т.е. режет строки по вертикали) и видео получается уже искаженным. Если в настройках эмуля Screen->Display Size->Proportion 4:3 снять галку, то видео будет квадратное 576х576 т.е. пиксель к пикселю. Я думаю для получения наиболее качественного видео это будет полезно.
|
Quote:
|
Ramiros ,
Мне кажется, что отладчик в VV не показывает при пошаговом исполнении содержимое 16К страницы квазидиска при записи в порт 10h управляющего слова 001000xx (доступ как память) и передаче управления на адреса A000-DFFF. Ещё вроде, при отключении AY8910/12 (None в меню Sound), тесты на её присутствие всё равно показывают наличие AY. По памяти: что-то вроде кода внизу должно возвращать 0 при отсутствии звуковухи. Code:
mvi a, 6 |
Отладчик дизасемблирует содержимое только основной памяти, квазидиск не дизасемблируется, почему, щас непомню уже, вроде как невозможно четко определить что именно надо дизасемблировать.
AY посмотрю, если че исправлю. |
Quote:
А с АY - ложная тревога. Это я перемудрил. Правильный код (если кому надо): Code:
mvi a, 6 |
может сделать ручной выбор памяти для отладчика?
|
Ручной конечно лучше, чем никакого, но когда много переключений банков, будет заморочно немного. А может автоматом состояние порта квазидиска отслеживать? Там немного комбинаций, фактически только за 5м битом надо следить, основная память, или страничная.
Правда, если бит 5 выставлен в 1, придётся на ходу подменять адреса A000-DFFF в соответствии с выбранной страницей в битах 1 и 0. |
ок. посмотрю че можно сделать
|
пока так буду выкладываю, тимоха сайт забросил :(
VV 6.75 поправил отладчик, теперь данные отображаются по состоянию регистра 10h. |
Quote:
|
Ramiros, я могу у себя похостить твой эмулятор. Ок?
|
Quote:
|
Как-то так — http://sensi.org/~svo/virtualvector
|
Quote:
Хостинг с народа на укоз перевели, а там фреймы не поддерживаются. Вот сайт и поломался. Быстрого решения не нашел, потому так и осталось. Может коллеги дадут дельный совет, чтобы по-быстрому поправить. |
Я бы просто похерил фреймы, все равно это пережиток древний и уже нигде его не встретишь. Рад бы предложить помощь в переверстке, но боюсь, что пообещаю и не сделаю. А динамическое что-то на этом укозле есть, или только статические странички?
---------- Post added at 15:39 ---------- Previous post was at 15:37 ---------- Вот, кстати, Ramiros, а ты не ведешь какой-нибудь журнал изменений? Чтобы можно было написать, мол, версия 6.75, исправлено: - бла - бла добавлено - бла ¿ |
Quote:
|
При попытке открытия файла VV_675.changelog.txt
получаю Code:
403 Forbidden |
Ну так см. выше, потому что его нет :)
|
А ссылка есть.
|
| All times are GMT +4. The time now is 23:42. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.