Frame delay su groovymame (e non solo)

Area dedicata alle guide tecniche,consigli e suggerimenti.
Rispondi
Avatar utente
b4nd1t0
Arcade Maniac
Arcade Maniac
Messaggi: 3384
Iscritto il: 06/06/2016, 17:34
Medaglie: 10
Reputation: 749
Località: Roma
Nazione: Italia
:
Medaglia d'oro Medaglia d'argento Medaglia di bronzo Medaglia di legno
Contatta:

Frame delay su groovymame (e non solo)

Messaggio da b4nd1t0 » 03/04/2018, 16:47

Nell'ultima versione dalla patch groovymame, Calamity ha implementato un paio di funzioni per cercare di diminuire, se non eliminare del tutto, quel poco ritardo (siamo nell'ordine dei ms/2-3 frame)) che si può verificare in fase di emulazione, credo sia quindi utile introdurre l'argomento frame_delay, cercando di spiegare di cosa si tratta.

La voce presente in mame.ini è compresa tra le opzioni di switchres, che ho già menzionato, aggiornando, la guida rapida a groovymame ma che per praticità ripropongo anche quì.

Codice: Seleziona tutto

#
# CORE SWITCHRES OPTIONS
#
frame_delay               0
Come impostazione di default quindi è settato a 0, dovremo quindi abilitarla (impostandolo ad 1) per poterne usufruire, si ma che fà? Serve a cercare di ridurre l'eventuale lag che può verificarsi in alcuni giochi, quando premiamo un tasto, la pressione viene rilevata tot tempo dopo e in alcuni giochi questo fenomeno potrebbe creare problemi, specialmente se si è molto capaci e quindi sensibili, se si gioca sul frame insomma (alcuni pro di Street Fighter lamentano l'impossibilità o la maggiore difficoltà ad eseguire determinate combo proprio per questo problema) tutto questo ovviamente, se paragonato all'hardware originale.

Il valore del frame delay può ovviamente variare da pc a pc visto che ogni configurazione fa girare le roms a velocità diverse, il consiglio quindi è di effettuare le prove su ogni macchina, per ogni gioco ed impostare i valori ad hoc.

La nuova patch ne incorpora 2 reallizzate da Inteall (altro utente di BYOAC), le quali consentono, una di effettuare un benchmark sulla singola rom per darci una idea del valore più opportuno da settare, l'altra per variare il frame delay in realtime e poter apprezzare la differenza di prestazioni.

Per effettuare il benchmark avvieremo la rom da commandline facendo seguire i comandi -bench ed un numero che imposterà il tempo di durata del test, dopo il quale ci verranno dati dei valori che ci indicheranno le impostazioni consigliate, tenendo a mente che il nostro obiettivo è quello di avere un ritardo pari a zero, imposteremo il valore che ci garantisce una percentuale il più bassa possibile, un valore troppo alto di delay potrebbe portarci a "saltare" alcuni frame.
ecco un screenshot di esempio con la rom gunbird2
Screenshot 2018-04-03 16.25.05.png
il test è durato 240 secondi e possiamo vedere che tra i valori proposti il migliore sembra 7, che ci garantisce un ritardo impercettibile e quindi un'ottima risposta.

Ora per applicare questo valore possiamo operare in due modi, da commandline aggiungendo -fd ed il valore scelto

Codice: Seleziona tutto

mame gunbird2 -fd 7
esempio riferito ai valori avuti dal precedente bench

oppure agendo dallo slide accessibile in game
Screenshot 2018-04-03 16.32.21.png
il risultato non cambia.

Attualmente il valore non viene salvato nel file di configurazione del gioco è quindi opportuno cercare di includerlo in fase di avvio della rom, magari da frontend o da script, anche se la soluzione più semplice è quella di creare un file .ini per ogni gioco che vogliamo "trattare" inserendo la voce fd # inserendo al posto del cancelletto il valore stabilito col benchmark,a voi la scelta.

Credo che tale feature possa essere interessante specialmente in ambito recordistico ho quindi già compilato l'ultima versione del wolfmame con la possiblità di impostare i parametri di frame delay sempre con le modalità descritte sopra.

Se volete approfondire con moltissimi test interessanti e dimostrazioni pratiche potete farlo quì, non mancherò comunque di aggiornare il post con gli ultimi sviluppi.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Ultima modifica di b4nd1t0 il 10/09/2018, 10:34, modificato 1 volta in totale.
Motivazione: aggiornamento
                                                 __ __ 
             _          _ _    ____  _____ _____|  |  |
 _ _ ___ ___| |_ ___   |_| |  |    \|     |   __|  |  |
| | |_ -| .'|  _| -_|  | | |  |  |  |  |  |__   |__|__|
|___|___|__,|_| |___|  |_|_|  |____/|_____|_____|__|__|
                                                       
b4nd1t0's repo here


Avatar utente
Barito
Arcade Maniac
Arcade Maniac
Messaggi: 2666
Iscritto il: 08/12/2015, 19:18
Reputation: 684

Re: Frame delay su groovymame (e non solo)

Messaggio da Barito » 03/04/2018, 19:11

Tienici aggiornati! Quel Calamity (e la community BYOAC) sono macchine da guerra.
Dal ciglio della strada osservo sbraitando i lavori in corso nel mondo arcade...


Avatar utente
josef 1975
Extreme Arcader
Extreme Arcader
Messaggi: 2401
Iscritto il: 05/08/2004, 14:07
Reputation: 43

Re: Frame delay su groovymame (e non solo)

Messaggio da josef 1975 » 03/04/2018, 22:43

intealls tra l'altro è lo stesso ad aver implementato il portaudio per riudurre il lag sull'audio, la sua è proproprio una mania! [joint.gif]
grazie band1to per gli aggiornamenti! [clap2.gif]
PC: ARCADE 0.197-WORKING ONLY ROMS - CAB: GROOVYMAME+ARCADE+NONAG 0.194
PC: i5 3750k 3.80ghz 16Gb Ram Nvidia GTX 970 4Gb SSD128gb + HDD 1TB
CAB: E8400 3.15Ghz 4Gb Ram AMD HD5450 512MB SSD 64Gb+HDD 320GB Immagine


Rispondi