Про ZXMAK2

emulators

Postby deathsoft » 22 Oct 2012, 22:03

Нашел тут на говнофоруме забавную тему [url]http://говнофорум.ру/showpost.php?p=547127&postcount=547[/url], про крэшинг говнетного директХ на вин2003, решил проверить у себя на компе:
все заебись пашет, ничего не крэшится, окно ресайзится без проблем. Конфиг компа схожий, видяха ati radeon, памяти тоже дохера 24гб.

Code: Select all
[12:25:51 DEBUG TESTDX] begin init()
[12:25:51 DEBUG TESTDX] begin create D3D
[12:25:51 DEBUG TESTDX] end create D3D
[12:25:51 DEBUG TESTDX] end init()
[12:25:56 DEBUG TESTDX] begin change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] end change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] begin D3D.Reset (OnResize)
[12:25:56 DEBUG TESTDX] event D3D.DeviceReset
[12:25:56 DEBUG TESTDX] end D3D.Reset (OnResize)
[12:25:56 DEBUG TESTDX] begin change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] end change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] begin D3D.Reset (OnResize)
[12:25:56 DEBUG TESTDX] event D3D.DeviceReset
[12:25:56 DEBUG TESTDX] end D3D.Reset (OnResize)
[12:25:56 DEBUG TESTDX] begin change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] end change presentParams (OnResize)
[12:25:56 DEBUG TESTDX] begin D3D.Reset (OnResize)
[12:25:56 DEBUG TESTDX] event D3D.DeviceReset
[12:25:56 DEBUG TESTDX] end D3D.Reset (OnResize)


Скачал по приколу эмулятор, с фпс конечно в нем полный пиздец, фпс дрочится от 45 до 60, в отличие от унриала в котором фпс стоит 50 как вкопанный.
Первый скролер в демке "шок мегадемо" дергается что пиздец (в унриале идет абсолютно плавно). Галка Vsync не работает (на экране видно сечение изображения с лучем). Звук в деме тоже попердывает. Лучше бы автор развивал ZXMak 1.0 хороший был эмуль, до сих пор иногда его юзаю.

Вобщем говнет дает о себе знать (ну собственно а кто сомневался что написать систему реального времени на говнете нереально).
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 23 Oct 2012, 20:18

Бугагайка в продолжение темы: (говнетчики - такие говнетчики, печатают хекс число с префиксом 0x, а реально там десятичное число, а потом на говнофоруме удивляются, чего же affinity mask такая странная). Вот до чего доводит программирование на уебан - языках.
Code: Select all
[10:44:33 INFO  TESTDX] =======================================
[10:44:33 INFO  TESTDX] Windows Server 2003 Enterprise Service Pack 2
[10:44:33 INFO  TESTDX] Version 5.2.3790.131072 - 32 bit
[10:44:33 INFO  TESTDX] ProcessorCount: 12
[10:44:33 INFO  TESTDX] ProcessorAffinity: 0x4095
[10:44:33 INFO  TESTDX] Framework: v2.0.50727
[10:44:33 INFO  TESTDX] =======================================
[10:44:33 DEBUG TESTDX] begin init()
[10:44:33 DEBUG TESTDX] begin create D3D
[10:44:33 DEBUG TESTDX] end create D3D
[10:44:33 DEBUG TESTDX] end init()
[10:44:36 DEBUG TESTDX] event OnResize
[10:44:36 DEBUG TESTDX] begin change presentParams (RenderScene#needReset)
[10:44:36 DEBUG TESTDX] end change presentParams (RenderScene#needReset)
[10:44:36 DEBUG TESTDX] begin D3D.Reset (RenderScene#needReset)
[10:44:36 DEBUG TESTDX] event D3D.DeviceReset
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby deathsoft » 24 Oct 2012, 19:06

По поводу скорости, даже на Dual Core 2GHz без проблем 50 Hz стабильно тянет. Ну да, на машинках 7-15 летней давности с производительностью туговато. Но так ли актуальны тазики 2005 года выпуска в 2012 году?

Я бы сказал, что даже на самых современных не тянет, то что написано про фпс относилось к i7-980, а не к древним компам.
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby jdigreze » 25 Oct 2012, 03:08

Угу. Это при том что первомак у меня на п-двойке шел без тормозов. А говнет я так и не смог запустить, чтоб оно хоть как-то вменяемо работало.
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby zxmak » 31 Oct 2012, 23:38

Если запускать на виртуалке, то фпс будет скакать - под виртуальной машиной синхронизация плохо работает.
На нетбуке с обрезком Atom 1.6 ГГц, производительность по тесту 70-100 фпс. По факту стабильные 50 фпс, если система апдейты на медленный винт параллельно не качает.
На i7 760 @ 3200 эмулятор дает более 600 фпс. Имхо вполне прилично. Unreal конечно чуть шустрее, судя по загрузке проца разница где-то 1.5 раза. Но для сегодняшних машин вполне достаточно. Можно часть критичного к производительности кода переписать на С++, но я в этом пока что не вижу особой необходимости.
Эмулятор-виртуальная машина ZX Spectrum - ZXMAK2: https://zxmak2.codeplex.com/
User avatar
zxmak
 
Posts: 83
Joined: 26 Oct 2012, 02:25
Group: Registered users

Postby lvd » 31 Oct 2012, 23:49

zxmak wrote:Unreal конечно чуть шустрее, судя по загрузке проца разница где-то 1.5 раза.

3000-5000 фпс -- это 'чуть быстрее'? Причём не за говнопроцах за 1000$, а на амдшках за 50$.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Postby deathsoft » 31 Oct 2012, 23:51

Я не на виртуалке запускал, а на реальном компе. Унриал запущенный на томже компе дает погрешность в +-0.01 фпс. Но для этого используется timeBeginPeriod(1) (дискретность шедулера устанавливается в 1мс вместо штатных 15мс) и кроме этого используется задержка через pause/rdtsc/Sleep(1) в цикле, чтобы ровно 50 фпс, при этом еще и афинити маск выставлено так, чтобы основной поток всегда был на одном и томже ядре (чтобы rdtsc не глючило и читало всегда с одного и тогоже ядра).

По поводу 600фпс, то унриал выдает 6000 фпс (правда стоит фреймскип(64)), иначе все ограничивается выводом на экран.

Загрузка проца - вообще не причем, для стабильного фпс загрузка одного ядра составляет всегда 100% (опция sharecpu=0), т.к. делается активное ожидание через pause/rdtsc.

Эксперименты с D3D9 показали, что фпс в оконном режиме всегда нестабилен, в фулскриновом режиме фпс довольно стабилен, но асинхронной постановки кадров в очередь для последующего рендеринга синхронно с лучем добиться не удалось (флаг D3DPRESENT_DONOTWAIT не оказывает нужного эффекта, и SwapChain->Present() все равно ждет когда кард реально отрисуется, вместо того чтобы просто положить его в очередь на отрисовку).
User avatar
deathsoft
 
Posts: 4744
Joined: 07 Apr 2007, 00:58
Group: Registered users

Postby jdigreze » 01 Nov 2012, 04:05

zxmak wrote:На i7 760 @ 3200
Стгашные вещи пишите, судагь. Муляция зю80/3,5 на и7(8 вёдер?)/3200 :D
Сколько меня не корми, волк всё равно в лес смотреть будет
jdigreze
 
Posts: 1478
Joined: 01 Aug 2008, 06:49
Location: Агбан
Group: Registered users

Postby DimkaM » 01 Nov 2012, 13:27

zxmak wrote: i7 760 @ 3200 эмулятор дает более 600 фпс

мой ееепц701(600мгц 1ведро 2гига озу) на унриле выдаёт 600фпс.
У ЧРВ вон ваще байт длинный.
N>"Идите нахуй" со своей политикой...
DimkaM
 
Posts: 1011
Joined: 24 Mar 2010, 12:42
Location: г.Щёлково М.О.
Group: Registered users

Postby lvd » 01 Nov 2012, 14:47

DimkaM wrote:мой ееепц701(600мгц 1ведро 2гига озу) на унриле выдаёт 600фпс.

В ответ на каждое увеличеие производятельности процессуаров фирма негрософт отвечает очередным замедлятелем-тормозителем с побочной функцией ЯП. В этот раз -- говнет.
F̞͖̭̿̔ͯu̐̅cͬ̑ͩk̨̤̳͇̮̭̪̠̽̿̓̆ͭͩ ̷̩̰͎̩͓̘̾̀ͬ̊ͭ͛ͅda̝̺͙̬͎̝̾͟ ̰̜̝̯͉̯̖̓̎́ͨ̽ͫ͟f̟͇̭̀ͬͨͭ̐̚u̹̼̹̗̞͑̔͂͐̚cͭ̅̊̆̒̆ǩ̝̩̯́ͥ̔̍̑ḭ͓͍̳̬ͦ̽͂n͍͎͈̈̅ͩͬ ̊ͫ̂̾̑̈́f̲͚͉͓͗̋́ͧͦ̅ȗ͇̲̻͈̲̅̎͗͒ͭ͡c̬̟̠̹̯̈́ͩ͘ͅk̫̠̻̋͜a̲͒̾̇!͙͕̺͉̗̩̲̂̏̄̀
User avatar
lvd
 
Posts: 7262
Joined: 07 Apr 2007, 21:28
Group: Registered users

Next

Return to Эмуляторы

Who is online

Users browsing this forum: No registered users and 9 guests

cron