Просмотр сообщений

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


Сообщения - nonamezerox

Страницы: Назад 1 ... 5 6 7 8 [9] 10 11 12 Далее
241
Не надо по стопам stalker4 путать кэширование шейдеров с их компиляцией. Речь именно о компиляции, вне зависимости от того есть ли в эмуле функция кэширования. OGL более процессорозависимый и это может давать бОльшие просадки при компиляции шейдеров, хотя у себя я особой разницы не вижу. Ну пользуйся Vulkan-ом. Лучшей альтернативы всё равно не наблюдается (об этом ниже).

Единственное что им более-менее сможет помочь в случае хардварного рендеринга, это уход от HLSL/GLSL в сторону бинарных DXIL/SPIR_V, они чуть пошустрее должны компилироваться, все же байткод,  а не текстовый высокоуровневый язык. Ну и в кеш писать тоже их (у опенгл тут киллер-фича в виде glGetProgramBinary, которая вообще нативный для видюхи компа бинарник возвращает), а не нвидиевские бинарники, хоть в таком случае и страдает актуальность кеша при переключении бэкендов.

242
Почитайте, что ли, как в Дельфине решили эту проблему - http://emuplace.com/news/novosti_ehmuljacii/3484-progress-emulyacii-iyul-2017.html...

Еще раз.

В долфине решили проблему путем полной эмуляции FIXED FUNCTION PIPELINE видеопроцессора Flipper, и, до этого у ишируки, путем пропуска пиксельной части этого самого PIPELINE.

В видеопроцессоре RSX - PROGRAMMABLE PIPELINE. Его нельзя заэмулировать целиком с помощью огромного шейдера, как это сделали в долфине.

P.S. С кешем rpcs3 проблема в том что он сделан неправильно. Он вообще сохраняет непереведенные программы RSX (то бишь в родном формате PS3), в то время как нужно сохранять уже скомпилированные  шейдеры под конкретный бэкенд.

243
Я не вникал в тонкости так называемой "тяжёлой компиляции шейдеров" во время игрового процесса, но мне это не по нраву ещё со времён Demul'а / Dolphin'а.

Ну и зря не вникал. Тонкости такие, что этим делом занимаются сторонние и абсолютно ну вообще никак не зависящие от разработчиков эмулятора программы в лице Microsoft Directx(r), AMD Catalyst(tm) и GeForce GameReadyDriver(tm). И по другому с видеокартой в рамках операционной системы Windows тупо работать нельзя.

Мне до сих пор кажется, что это некий костыль или бутылочное горлышко (кому как угодно), это тупиковая ветвь развития  и от сего надо как-то элегантно избавляться.

Ну, рецепт известен - софтовый рендер. Это вообще все проблемы с эмуляцией GPU снимет.

Добавлено позже:
BlackDaemon,

Кстати, раз уж тут многие интересуются скоростью компиляцией шейдеров, спроси kd-11, что он думает о перспективе создания нового бэкенда для DX c компиляцией в DXBC (а по-хорошему в DXIL). И нового бэкенда для вулкана c компиляцией в SPIR-V binary

244
Меня гложет уверенность что можно было обойтись и без этой функции, другие же эмули без нее обходятся

Какие эмули? Приставок позапрошлого поколения и далее до атари 2600?. Дык, ясен болт.




245
Я бы сказал что кеширование в целом дохлый путь, это я говорю как администратор сервера, главное оптимизация  :)

Тут затык на стороне сторннего софта (драйвера видеокарты, встроенного туда компилятора шейдерного языка и невозможности использовать шейдеры в DX, OGL, Vulkan как-либо в обход компилятора. У вулкана и DX, правда, есть более низкоуровневые языки , но это по-прежнему требующий компиляции язык программирования, написанный буквами, и максимум что можно будет с этого получить - подфризы чуть короче).

246
stalker4, еще раз.

DX и OpenGL принимают шейдеры только в формате исходного кода на языке высокого уровня (GLSL и HLSL) путем последующей компиляции этого исходного кода в машинный код конкретной видеокарты. Тупо потому что у видеокарт разных производителей разная архитектура и даже в рамках одного модельного ряда одного производителя архитектура и система команд может отличаться. На PS3 шейдеры компилируются на стороне разработчиков  при разработке и сборке игры и лежат на диске игры уже в виде машинного кода, потому что видеокарта, в отличии от ПК на PS3 одна - единственная. Чтобы шейдер с диска игры PS3 эмулировать на ПК, его нужно сначала перевести с низкоуровневого машинного кода Nvidia в высокоуровневый код на языке программирования GLSL (или HLSL, если речь про DX, выполняется эмулятором), а затем скомпиллировать обратно с этого языка уже в машинный твоей видеокарты (выполняется драйвером твоей видеокарты). Эта процедура достаточно длительная и от этого никуда не убежать, потому что так устроены GAPI, так устроены видеокарты и подфризы будут в любом случае хоть с кешем хоть без, просто с кешем они будут однократно.

247
 
может в будущем возьмут опыт у Phire  и о его технологии Ubershaders 


ли он настолько же быстр=эффективен как и у убершейдера?

Как только libshaman и libnosterdame, отрелизят так сразуже.

248
Softer,

Добавлено позже:
гибридный режим вообще потребляет столько же ресурсов
Естественно, потому что он на 1 кадр врубается. С онли убершейдер режимом плагин превращается в хороший такой бенчмарк для видеократ.

249
Softer, как раз дело в том, что на GPU Wii шейдеров нет - там GPU в целом напроминающий GF1-2 с похожим FFP функционалом. И этот самый гпу возможно целиком заэмулировать с помощью одного громадного шейдера, что в долфине и сделали, когда железо стало это позволять. До этого у них на каждую установку FFP параметров гернерился отдельный шейдер.

У WiiU же шейдеры есть. И они пишутся руками программистов. И их содержимое до момента их использования, сам понимаешь - неизвестно, эмулятор по понятным причинам не может предсказать, какие файлы отдельно взятая игра использует и откуда она их читает.

Если же речь об интерпретации и выполнении машинного кода шейдеров WiiU целиком силами видеокарты ПК - то, скорее всего, маловероятно, хотя в последних версиях GAPI и последних видеокартах - и возможно. Но работать это будет очень плохо - видеокарта  для таких задач с кучей ветвлений, циклов чтения данных  и длинным кодом малоприспособлена. В будущем, когда ситуация с производительностью и функционалом изменится - возможно будет даже и лучше, чем в нынешнем варианте, когда скомпилированный код шейдеров приставки декомпилируется обратно в исходник на HLSL/GLSL и затем повторно компилируется драйвером.

250
Вопрос тебе был адресован по причине озвученного тобой мнения, что при решении вопроса с влиянием компиляции шейдеров на производительность в реальном времени, лучше брать пример с Cemu, а не с Убершейдера в Дельфине.

Тут все просто - в Dolphin'e убершейдеры можно сделать, у Cemu  - нельзя. Тупо потому что соврешенно разные GPU.

251
CCCP1982, отправлен отдыхать до конца недели. На будущее, если он прочитает (хотя я не уверен что он читает чужие посты вообще), свои картинки загружай на хостинги и прячь их под спойлер. Продублирую ему в личку, на всякий случай, если не поможет, то даже не знаю.

Дык они вроде как спрятаны изначально и так были

252
Ликбез.

Вот это вот называется шейдер:


Вот это называется материал:

Вот это называется постэффект:

Не путай их. Шейдер - это программа для GPU, результат её работы  - не обязательно материал или постэффект. (На самом деле в современных OpenGL и DirectX (современные - это все что новее 10-летней давности) не написав шейдер ты кроме закрашенного одним цветом экрана не сможешь вывести ничего, даже графику уровня PS1).

Красота на экране - это не шейдер, это либо результат его работы, или специально запеченная в профессиональном 3д-рендере красивая текстура, которую ты по незнанке принял за эффект или материал расчитаный  шейдером (собственно, те "шейдеры", которые ты "видел" на PS2 - именно оно)

253
nonamezerox, понятно, спасибо. Ну, почти угадал, значит. По крайней мере я был прав в том, что в контексте данной темы галиум отдельно от месы искать бессмысленно.

Ну когда-то в бородатые времена галлиум  действительно был разработан отдельно от месы.  Но закончилось все впиливанием оного в месу  как нового перспективного  компонента. Собственно,   это все чисто линуксовые заморочки и из них интересны под виндовс  разве что те самые софтварные эмуляторы видеокарты.

254
Меса вроде бы враппер opengl->software, ей всё равно какой gpu. Галиум без месы я найти не смог, я даже не очень понял что это. Вики пишет - прослойка между API и драйверами. То есть это для драйвероделов, что ли? Generic библиотеки для использования внутри самих драйверов? В общем тут я не разобрался...

Собственно меса - это такая опенсорсная реализация стека OpenGL (в основном под unix-подобные операционные системы, то бишь линукс бсд и так далее), Gallium уже давно является неотъемлимой частью этой самой месы и представляет собой промежуточный интерфейс перед драйвером поверх которого можно теоретически хоть OpenGL хоть DirectX реализовывать (вот эту фишку, емнип, использует только вайн для реализации DX без промежуточной прослойки в OpenGL, но чтобы это включить там нужно емнип самому копилировать с каким-то ключом), то бишь скорее для API-делов. Так же меса включает в себя опенсорсные драйвера, кои к слову не все используют галлиум, например интеловские галлиум не используют и реализуют опенгл напрямую. Так же в месе есть три драйвера эмулирующие видеокарту на CPU (llvmpipe- самый новый, быстрый и функциональный (реализует вплоть до Opengl 3.3)). Вот эти софтварные драйверы и можно компилировать под виндовс в качестве dll библиотек (хардварные, по понятной причине несовместимости интерфейсов OS windows и linux, нельзя ). Ну и под линукс есть еще проприетарные драйвера которым меса не нужна в принципе.

255
Softer, как я понял, у него скомпиленая под винду меса 3д, которая после компиляции дает програмный эмулятор/рендер Opengl. И поверх него накачены вайновские врапперы DX-OGL. То бишь 3д у него програмно эмулируемое путем линухового рендера из месы под винду.

256
если бы разрешение было 640х448 то было бы как в VP2 когда сверху полосы, а по краям обрезано, в ГТ4 такого нет
посему там ну никак не 640х448

Это мне втирает человек, созданная тема которого посвящена патчу матрицы проекции  :D :D :D :D

Я тебе года три назад даже регистры сказал какие смотреть в разделе CRTC мануала.

Цитата
а разработчики мк бла бла

Да не в курсе. Потому что никакого хд там нет. И быть не может.

Добавлено позже:
Объясни, почему должно быть именно так же? Что препятствует тому, чтоб было по другому при том же разрешении на выходе?

Да ничего не препятствует, просто дионис опять режим суперфеди включил.

257
если есть нужный кабель с теликом ,то вроде 1080i на консольке ,если с другой версией не путаю

Сигнал - да. Разрешение - нет, разрешение все то же родное (640x448), растянутое до 1920x540, поскольку у PS2 тупо нет ни такого количества видеопамяти, ни режимов рендеринга шире чем 640 по горизонтали.

258
Кстати, я вот пропустил момент, когда название "боты" перешло от действительных программ, предлагающих разный спам и сравших этим спамом в чатиках и на почту к вполне себе живым троллям-стахановцам.

259
но при чем тут PSP? Ее игры же вроде как на PS3 не запустить и тут вот... какая то pspemu папка в прошивке оказалась

Не обращал внимания на игры в сторе, помеченные как Minis? Это они и есть, игры для пэхи, которые можно покупать и играть на PS3 путем встроенного эмуля (при этом возможность эмулировать "полноценные" игры для ПСП зарезана по понятным жадность и бабло, что бы покупали железную PSP причинам).

260
так есть еще вариант с прошивкой определенных моделей приводов гнусмаса

Дак там вроде чуть ли не на IDE 10 летней давности искать надо.

261
    У меня 6ой Ridge Racer заработал но вылетает, при попытки 3д ускорится. Я бы свои игры хотел проверить, но блин не знаю как с этих лицензионных дисков правильно образ снять  :neznayu: (Типа видит, что якобы 7 мегабайт диск и всё лол)

кто типа видит, прога по снятию образов или винда?

У бокса нестандартные DVD, да, нужны танцы с бубном.

https://www.se7ensins.com/forums/threads/creating-a-raw-dump-of-a-360-game.15725/

262
Вопрос к знатокам: есть ли какие-нибудь костыли, чтобы поиграть в Skyward Sword без реальных вимоута и нунчака?

Такие вот костылеконфиги:

https://forums.dolphin-emu.org/Thread-motionplus-my-own-keyboard-controls-for-loz-skyward-sword

263
Ворвусь в срач.

1) SPE не являются "кастрированными" относительно чего либо - это вполне себе полноценные процессоры с новой, не имеющей абсолютно никакого отношения к PPU архитектурой с заточкой под SIMD - на них можно делать в принципе все что угодно (с и с++ компилятор спокойно компилирует для SPE любой использующий обычные скалярные вычисления код на си и плюсах). На современных GPU многие вещи которые можно было делать на SPE в виду аритектурных ограничений по-прежнему делать нельзя.
2) А вот геморойный для разрабов  косяк же оных ядер заключается в другом - эти ядра не видят оперативную память, они видят только локальную быструю память объемом в 256 кб, с оперативой они общаются только руками программиста с помощью команд специального DMA-контроллера, входящего в состав SPU и это и есть главная проблема для разработчиков, а не какая-то мифическая "кастрированность", о которой любят упоминать к месту и не к месту .
3) И для быстрой эмуляции это на самом деле очень плохо - как в плане этой самой быстрой памяти, так и в плане этого самого DMA-контроллера, гонющего потоки данных туда-сюда.
4) "Кастрированными" на самом деле являются как раз "основное" ядро PPU и CPU Xenon, которые действтельно являются кастратами микроархитектуры power5 с вырезанными бранчпредикшоном и прочими плюшкам, причем получилось так, что процессор куба/вии/вию родом прямиком из 1998 года, несмотря на отсталость в 2 поколения микроархитектуры, по производительности на герц их уделывает.

https://www.slideshare.net/naughty_dog/spu-optimizationspart-1
https://www.slideshare.net/naughty_dog/spu-optimizations-part-2

264
года два не эмуляторствовал, забыл все. Решил в Зельды кубовские и вийшные поиграть. В связи с этим простой вопрос: можно ли как-то настроить игры данной серии в Dolphin под К+М, либо же обязательно геймпад придется покупать?

В кубовские - спокойно. в SS придется заморочится - там моушн-управление обоими дилдами безальтернативно.

265
Пожалуйста конечно, только вот идущие с эмулем шейдеры, которые я тебе посоветовал, дают такую же мыльную картинку, как и в твоём видео, которое ты захватывал с тв-тюнера и приводил в пример. Тем не менее тебе что-то всё равно не понравилось?  :neznayu:

Добавлено позже:
Я ещё когда ты сказал, что тебе на дефолтных значениях этих шейдеров слишком мыльно, удивился. Так как твоё видео ещё более мыльное, а не наоборот. Скорее всего ты сам не знаешь что тебе нужно, вот и мечешься туда сюда. Теперь вот конвертер купить решил... ну-ну   :cool:.

Ему dot crawling нужен и прочие милые артефакты композитного подключения вроде уменьшения разрешения цветовой компоненты в два раза, которые он называет "мылом".

266
речь идёт не о том, куда и как использовать такой формат изображения, а о фактической способности PS1 использовать его для игр. Более того, на практике использовались текстуры не только с палитрой. .

Речь шла конкретно про текстуры и textured rectangle. Текстуры максимально поддерживаются r5g5b5a1. Точка. Про то что ренедрить умеет в 24 бита я писал, равно как и что оно нигде не используется (вернее используется для MPEG видео и титульников с полноэкранными менюхами) из-за экономии видеопамяти тоже..

Я в отличие от тебя не на какой-то портянке свои знания укреплял, а на примерах исследования игровых ресурсов и того, как они использовались внутри игр и видел разные случаи.

А мог бы исследовать дизассемблером, как это делает CaH4e3 (тем паче что тут на эмуленде есть хороший плагин для IDA Pro) и понять больше чем копаясь в ресурсах.


и вообще всё равно каким методом, блитом или текстурированием, для 2D игр и блита достаточно, усвой это и лёд приложи.

Все равно да, только вот быстро можно только с помощью треугольников и textured rectangle, а если более 1-2fps не нужно и нет большого количества объектов (как для меню и титульников), то да -можно и блитом

267
nonamezerox, ламерок, читай.
http://wiki.qhimm.com/view/PSX/TIM_format

Дятелок, ты походу читать не умеешь. 24 бита не для текстур, а прямого блита во framebuffer, что бы отобразить одну (1) картинку прямо на экране, тупенький. Использовать в качестве текстуры  24 бита нельзя, дятелок, GPU для текстур поддерживает макимум 16 битные прямые текстуры, а на практике используются форматы CLUT4 и CLUT8, которые вообще 16 и 256 из 32575.

Спорить он будет еще тут мне, откопал TIM формат (который какбе просто формат хранения графических файлов в форматах, подходящих для прямого копирования в видеопамять GPU и предназначен не только для хранения текстур), ничего из написанного не понял, как работает GPU не в курсе и не читал, но мнение агреcсивного школотрона, как обычно, имеет.

268
Вижу, ты вообще лютый нуб. Что за ахинею ты несёшь??? PS1 может использовать какие угодно текстуры, хоть 24-х битные, если очень нужно. И нет такого значения, как 60000 одновременно используемых цветов, нуб ты окаянный! Ты в какой вселенной живёшь?

Цитата
A texture is an image put on a polygon or sprite. The data of a texture can be stored in 3 different modes:

  16bit Texture (Direct Color)             ;(One 256x256 page = 128Kbytes)
  0-4   Red       (0..31)         ;\Color 0000h        = Fully-Transparent
  5-9   Green     (0..31)         ; Color 0001h..7FFFh = Non-Transparent
  10-14 Blue      (0..31)         ; Color 8000h..FFFFh = Semi-Transparent (*)
  15    Semi Transparency Flag    ;/(*) or Non-Transparent for opaque commands
  8bit Texture (256 Color Palette)         ;(One 256x256 page = 64Kbytes)
  0-7   Palette index for 1st pixel (left)
  8-15  Palette index for 2nd pixel (right)
  4bit Texture (16 Color Palette)          ;(One 256x256 page = 32Kbytes)
  0-3   Palette index for 1st pixel (left)
  4-7   Palette index for 2nd pixel (middle/left)
  8-11  Palette index for 3rd pixel (middle/right)
  12-15 Palette index for 4th pixel (right)

В 24 бита она только рендерить умеет (что в большинстве игр все равно не используется из-за большего пожирания видеопамяти). И часть значений цвета являются магическими числами для определления прозрачности, так что все верно - текстуры - 16 бит онли и цветов при этом меньше 65536, а вернее даже меньше 32768, так как 16 бит отвечает за прозрачность а цвет 15 бит. И даже так, все равно в играх применяются не прямые текстуры, а которые в пунктах 2 и 3 - то бишь на 256 и 16 цветов с палитрой из 32767 опять же по причине нехватки видеопамяти.

Добавить к этому отсутствие фильтрации, отсутствие перспективной коррекции текстур, отсутствие z-буфера для куллинга ближних полигонов дальними (GPU их рендерит как 2д треугольники и квады без информации о глубине). В общем, ламерок, читай:

http://problemkaputt.de/psx-spx.htm

269
Отличный инжектор sweetfx, но не к каждой игре подходит (dolthin и pcsx2 не воспринимают его). Какие еще инжекторы порекомендуете?

У долфина встроенные фильтры есть, pcsx2  - софтвар.

270
Тут транслятор в команды для виндовс, а не эмуляция процессора и тд, в итоге то, что будет с глубокой оптимизацией под ПС3, работать никогда не будет. Как с винСЕ в nullDC, он по сути тем же занимается но для SDK катаны.

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

Ты ошибся. HLE (как и в долфине и в ппсспп) там только по части эмуляции ядра операционной системы вместо эмуляции системного режима процессора и использования родных файлов прошивки - вообще без эмуляции процессора ты  ничего не заэмулируешь. Упрощение эмуляции касается только гипервизора и операционной системы - юзермод эмулируется полностью.

Добавлено позже:
Опа, прогресс по части фпс впечатляет, таки завезли динарек походу  :wow:

Так его уже сто лет в обед как завезли, там в опциях ASMJIT и LLVM есть  и были такие. Просто работал криво.

Страницы: Назад 1 ... 5 6 7 8 [9] 10 11 12 Далее