• Prodotti
  • Funzionalità
  • Mod Master
  • Scaricare
  • Giochi
  • Blog
  • Prezzi

Rimuovitore di balbuzie delle cadute

Autore:skyranger-1Ultimo aggiornamento:2014-05-25 00:02:071.1M258KB

Fallout 3 - Game of the Year Edition Rimuovitore di balbuzie delle cadute-1-lagofast mod master

Introduzione alla mod

Serve fose. Migliora la balbettatura e/o le prestazioni.
Rimuovitore di balbuzie delle cadute
Versione 4.0.7
by SkyRanger-1

Forum thread: http://www.bethsoft.com/bgsforums/index.php? showtopic = 1069833
Pagina tesnexus: http://www.fallout3nexus.com/downloads/file.php? id = 8886

Questo è un plugin fose, e funzionerà solo con fose 1.2 beta 1 o più tardi.

Questo funzionerà solo con fallout 3 versione 1.7.




0. contenuto:
====================================

0. contenuto
1. panoramica
2. Installazione
3. Disinstallazione
4. modifiche comuni delle impostazioni
5. tutte le impostazioni
6. cronologia delle versioni
7. Come funziona questo
8. Crediti



1. panoramica:


Questo plugin rende fallout 3 non"balbettare "tanto, e generalmente si sente più liscio o eseguire meglio. Impedisce o mitiga una serie di problemi relativi alla balbuzie e alle frequenze di fotogrammi, e può ridurre la frequenza di crash correlati alla balbuzie. Per ulteriori dettagli, vedere la sezione 7: come funziona.

Nota tuttavia che questo generalmente non risolverà nulla di sbagliato con i driver, hardware, o codec- se avete motivi fondamentali per le scarse prestazioni, questo probabilmente non aiuterà molto.

Questa è una porta del rimotore di balbettatura oblivion(OSR) per funzionare per fallout. Finora, non funziona così bene come l'originale oblivion balbuzie remover, ma dovrebbe aiutare qualche.

Questo dovrebbe essere compatibile con tutto. L'unica avvertenza è che i mod che monitorano fps non saranno in grado di misurare con precisione fpses al di fuori dell'intervallo target impostato da questo plugin (da 10 a 30 per impostazione predefinita). In realtà, anche i fpses che si avvicinano semplicemente agli obiettivi fsr possono essere difficili da misurare.



2. Installazione:
====================================

Il processo di installazione è:

1. A. Se la versione di fsr che stai installando è venuta come un file. zip, basta trascinare la cartella"dati "dal zip alla cartella oblivion.

1. B. Se la versione di fsr che stai installando non è venuta come un file. zip allora è necessario posizionare il file sr_fallout_stutter_remover.dll nella cartella fallout\Data\fose\plugins. Se non avete una cartella del genere, createla. Se avevi installato una versione precedente di fsr, eliminare il suo file ini (Data\fose\plugins\sr_Fallout_Stutter_Remover.ini). Se non esiste un file fsr ini esistente allora fsr genererà un nuovo file ini con impostazioni appropriate per la tua versione la prossima volta che eseguirai fallout.



3. Disinstallazione:


Semplicemente eliminare il file sr_fallout_stutter_remover.dll dalla cartella data\fose\plugins.
Spostare quel file in un'altra directory sarebbe anche sufficiente.



4. modifiche comuni delle impostazioni
====================================

In generale, fsr tenta di avere impostazioni predefinite decenti in modo che gli utenti non siano tenuti a monkey con loro. Tuttavia, ci sono alcune impostazioni in cui i valori predefiniti potrebbero non essere appropriati per voi, o perché i valori predefiniti non corrispondono ai vostri gusti o perché fsr è fa ipotesi errate sul vostro computer.

Fsr mantiene le sue impostazioni nel file data\fose\plugins\sr_Fallout_Stutter_Remover.ini
Se quel file non è presente, semplicemente avviare fallout con fsr installato e fsr genererà uno nuovo con le impostazioni predefinite per la versione di fsr. Se hai incasinato qualcosa nelle impostazioni o altrimenti desideri ritornare alle impostazioni predefinite, semplicemente eliminare questo file ini e avviare il fallout.

è possibile trovare informazioni generali sulle impostazioni nella sezione 5, nonché informazioni più complete su ciascuna impostazione individuale.

Le impostazioni che è più probabile che desideri modificare sono:

FPS_Management\MaximumFPS: (valori predefiniti a 30, considerare la modifica a 0 o altri valori)
Alcune persone non vogliono il loro framerate limitato affatto. è possibile disattivare il limite di fps impostando questo su 0. Inoltre, se la frequenza di aggiornamento dello schermo durante la riproduzione di fallout non è 60 Hz, si potrebbe provare a modificare questo alla frequenza di aggiornamento dello schermo, o metà della frequenza di aggiornamento dello schermo, o un terzo della frequenza di aggiornamento dello schermo. Questa impostazione non avrà alcun effetto se master\bmanagefps viene cambiato a 0.

Hashtables\bAllowDynamicResizing: (predefinito a 0, considera di cambiare a 1)
Accendere questo può migliorare notevolmente le prestazioni generali/ fps sui giochi fortemente modificati. Sfortunatamente, può causare condizioni di gara e caos generale, soprattutto quando gli script che utilizzano determinati comandi fose stanno eseguendo ogni frame. Ho cercato di ridurre la probabilità di problemi a quasi zero, ma... Potrebbe richiedere ancora più lavoro. Nel frattempo questa funzione predefinita è disabilitata. Questa impostazione non avrà alcun effetto se master\bhookashtables viene modificato a 0.

Soppressione della sezione critica: (speciale)
Per impostazione predefinita fsr sopprime una particolare sezione critica che fallout sembra funzionare meglio senza. C'è un'altra sezione critica correlata che alcuni utenti sembrano essere in grado di sopprimere senza causare problemi, ma altri utenti sperimentano ctd su interno- > transizioni esterne o altri problemi quando è soppresso. Che uno produce solo un piccolo miglioramento alla balbettatura, quindi normalmente non consiglio di sopprimerlo, ma puoi se vuoi. Per sopprimerlo, trovare la riga che dice "CallerAddress=0x70172A" nel file ini e aggiungere una nuova riga subito dopo che dice "Mode=5". Nota che il caso è importante... Dovrebbe essere "modalità" e non "modalità". Questa impostazione non avrà alcun effetto se master\bhookcriticalsections o criticalsections\buseoverrides sono impostati su 0.
Nota: la porzione del readme immediatamente sopra questo che è cancellata era per l'oblio, non per la caduta; C'è un equivalente per fallout, ma non sono arrivato a cercare i valori precisi per esso ancora. Per il momento, ignoratelo.



5. tutte le impostazioni
====================================

Fsr mantiene le sue impostazioni nel file data\fose\plugins\sr_Fallout_Stutter_Remover.ini
Se quel file non è presente, semplicemente avviare fallout con fsr installato e fsr genererà uno nuovo con le impostazioni predefinite per la versione di fsr. Se hai incasinato qualcosa nelle impostazioni o altrimenti desideri tornare alle impostazioni predefinite, semplicemente eliminare questo file ini e avviare il fallout.

Nota che il formato dei file fsr ini cambia tra le principali versioni di fsr- non si dovrebbe utilizzare un file ini fsr versione 1 con fsr versione 2, ecc. in fsr2, il file ini è organizzato in sezioni come "SectionName{SettingName=valor}". Una specifica impostazione può essere riferita come sectionname\settingname per distinguerla da altre impostazioni con lo stesso nome in sezioni diverse. In generale le impostazioni con nomi che cominciano con una"i "sono valori interi (cioè un numero senza punto decimale), le impostazioni con nomi che cominciano con una"b" sono valori booleani (cioè 0 o 1), e le impostazioni che cominciano con una"f "sono numeri che possono avere punti decimali (cioè 3.14). Alcune impostazioni non iniziano con una di queste lettere, nel qual caso potrebbe non essere chiaro quale sia il tipo corretto di valori.

Queste sono le impostazioni e i loro valori predefiniti correnti (potrebbero non essere al 100% aggiornati):

Sezione: Master {}
Questa sezione contiene un'opzione per disabilitare ogni sottosistema principale di fsr, più alcune impostazioni per cose che non appartengono a nessun particolare sottosistema di fsr.

Master\bManageFPS (predefinito:1)
Impostare questo su 0 disabiliterà tutte le cose di gestione fps, rendendo ogni impostazione nella sezione fps_management insignificante.

Master\bHookCriticalSections (predefinito:1)
Impostando questo su 0 disabiliterà tutte le sezioni critiche, rendendo insignificante ogni impostazione nella sezione criticalsections.

Master\bHookLightCriticalSections(predefinito:1)
Impostando questo su 0 disabiliterà tutte le sezioni critiche di luce, rendendo insignificante ogni impostazione nella sezione lightcriticalsections.

Master\bHookHashtables (predefinito: 1)
Impostando questo su 0 disabiliterà tutte le cose della tabella di hashtable, rendendo ogni impostazione nella sezione criticalsections insignificante.

Master\bReplaceHeap (predefinito: 0)
Impostare questo su 1 consentirà la sostituzione heap, rendendo significative le impostazioni nella sezione heap.

Master\bLogToConsole (predefinito: 0)
Fsr registra vari bit di informazioni nel suo file di registro. Modificare questa impostazione in 1 farà sì che fsr stampi anche queste informazioni sulla console.
Il file di registro è sr_fallout_stutter_remover.log nella directory fallout. Viene creato o sovrascritto ogni volta che fallout esegue con fsr installato.

Master\bFix64Hertz (predefinito: 1)
Impostando questo su 1 risolve un problema di fallout che provoca "microbalbuzie". Questo problema è talvolta conosciuto come"problema 64 Hz ". Specificamente il problema è che il timing logico del gioco fallout si verifica normalmente ad una risoluzione di 1/64 di secondo, e le frequenze di aggiornamento dello schermo normalmente consentono fallout di disegnare 60 fotogrammi al secondo quando vsync limitato. Questa combinazione crea una sorta di frequenza di battito quando la frequenza di frame è massima in cui 4 fotogrammi ogni secondo hanno il doppio della quantità di tempo di gioco passato rispetto ai 56 fotogrammi. La correzione che fsr applica forze fallout per utilizzare il tempo ad una risoluzione di 1/1000th di secondo invece di 1/64th di secondo.

Master\bFlushLog (predefinito: 1)
Questo dice a fsr di scrivere immediatamente qualsiasi messaggio di registro nel suo file invece di bufferarli in memoria. Può ridurre leggermente le prestazioni a causa di un numero maggiore di accessi al disco, ma rende più probabile che qualsiasi messaggio relativo ai problemi che si verificano poco prima di un crash verranno scritti con successo nel file di registro.

Master\ischedulingrisolution(predefinito:1)
Fsr richiederà che lo scheduler di Windows esegua ad una risoluzione di questi molti millisecondi. Con questo set a 1, fsr e fallout generalmente funzionano meglio. Questo può ridurre leggermente la durata della batteria dei laptop tuttavia.

Sezione: FPS_Management {}
Questa sezione contiene le impostazioni che regolano il modo in cui fsr gestisce il framerate e il flusso del tempo di gioco.

FPS_Management\bAllowSlowMotion (predefinito: 1)
Impostando questo su 0 impedirà a fsr di tentare di sovrascrivere il normale flusso di tempo di gioco. In passato i bug avevano arison da fsr che lo facevano (il più infame, il bug neary-npcs-drop-dead-on-cell-transitions), ma si ritiene che questi siano corretti ora. Solo nel caso in cui si sospetta che ci potrebbe essere un problema però, è possibile disabilitare forzatamente tutte le regolazioni del tempo di gioco fsr con questa impostazione. Nonostante il nome, impostare questo su 0 impedirà anche a fsr di inoltrare rapidamente il tempo di gioco, anche se fsr cerca solo di farlo in combinazioni molto rare di impostazioni e circostanze.

FPS_Management\MaximumFPS (predefinito: 30)
Questo è un massimo fps che fsr non permetterà fallout di superare. Generalmente imposti questo a un framerate abbastanza alto da non importarmi molto di qualsiasi fotogrammi extra al secondo. Notare che fsr non tratta davvero di"frame per secondo "qui, converte il valore in un numero di millisecondi per frame e considera ogni frame singolarmente. Se un frame sarebbe stato completato troppo rapidamente allora fsr causerà fallouts thread principale per andare a sleep fino a quando il numero corretto di millisecondi non è passato. Mettere il thread principale di fallouts a sleep può liberare risorse da utilizzare dai thread di background di fallouts o per altri programmi che potrebbero essere in esecuzione in background. Se nulla vuole utilizzare le risorse extra allora il tuo CPU e/o gpu funzionerà più freddo e userà meno elettricità.

FPS_Management\MinimumFPS (predefinito: 10)
Questo è un minimo fps che fsr non permetterà fallout di andare sotto. Tuttavia, invece di trattare con secondi reali, questo tratta con secondi di tempo di gioco. Quindi puoi ancora avere un fps di 1 se il tuo computer è davvero lento, ma questo rallenterebbe il tempo di gioco al 10% del normale in modo che ci saranno sempre almeno 10 fotogrammi al secondo di tempo di gioco. Tutti i numeri ci erano solo per esempio, basati su un fps reale di 1 e una impostazione minimumfps di 10 (il valore predefinito). Nota anche che, come maximumfps, questo funziona in realtà su una base mono-frame trattando con millisecondi per frame invece di frame per secondo.
Generalmente imposto questo ai fps più bassi che trovo remotamente giocabile. Il grande scopo di questa impostazione è quello di evitare la logica del gioco di fallouts da andare fuori di testa quando i fps diventano troppo bassi. I problemi che questo impedisce includono combattimenti che sono impossibili perché i nemici possono correre cerchi intorno a voi tra i fotogrammi, controlli incasinati perché fallout pensa che il tasto di attacco sia giù per un intero fotogramma o non giù per un intero fotogramma che può causare un attacco di potenza a verificarsi quando un attacco era intenzionato, e molti altri problemi simili.

FPS_Management\iSmoothFrames (predefinito: 0)
Se questo è impostato su 0, la logica"smoothing "non fa nulla. Per accendere la logica di smoothing provare a impostare questo su 2. Tuttavia, i rapporti suggeriscono che la logica di smoothing non valga molto di nulla. La logica di smoothing è destinata a prevenire una varietà di problemi che derivano da balbettaggi e altri rapidi cambiamenti nelle frequenze di frame. La logica di smoothing non avrà alcun effetto se ballowslowmotion è 0.

FPS_Management\iSmoothMode (predefinito: 0)
Questo dovrebbe essere 0, 1, 2 o 3. Se è 0 o 1 allora consentirà qualche logica extra che tenta di filtrare eventi balbuzie fuori dal flusso del tempo. La logica può finire con la quantità totale di tempo di gioco che passa non è abbastanza uguale alla quantità di tempo reale che passa se c'è stata una caduta molto improvvisa di fps. Se è 2 o 3 allora quel bit extra di logica è disabilitato. La differenza tra 0/2 e 1/3 è un problema molto sottile di quali fotogrammi vengono ridistribuiti il tempo tra loro come.

FPS_Management\iSleepExtra (predefinito: 2)
Fsr costringerà il fallout a dormire per tanti millisecondi ogni secondo. Questo può aiutare a liberare risorse per thread di background o altri processi, o ridurre leggermente la temperatura e il consumo di energia dei componenti del computer. Il vantaggio principale è che se un thread di background sta lottando per ottenere una determinata risorsa che il thread principale sta hogging, questo può dargli la possibilità di ottenere la risorsa una volta di tanto in tanto.
Se questo è impostato su -1 allora il codice di gestione fsr fps non metterà mai fallout- se altrimenti i fps supererebbero i maximumfps allora fsr perderà tempo in un ciclo inattivo. Questa modalità non è raccomandata in quanto è previsto solo per scopi di test.

FPS_Management\bFPSConsoleSPAM (predefinito: 0)
Questo causerà fsr di registrare la quantità di tempo necessario per completare ogni frame. Lo farà una volta per fotogramma, creando un'enorme quantità di tempi registrati.

FPS_Management\iSchedulingParanoia (predefinito: 1)
Questa impostazione è in unità di millisecondi. Determina quanto sia paranoico il codice maximumfps riguardo lo scheduler. Se il valore è elevato, allora il codice maximumfps non dormirà mai, perdendo invece tempo nei loop inattivi. Se il valore è 0, allora il codice maximumfps si fiderà dello scheduler per riprendere l'esecuzione dei thread principali esattamente all'ora richiesta. Generalmente compromesso a 1 per un modicrum di paranoia circa lo scheduler ma comunque permettendo gran parte del tempo libero di essere messo a uso costruttivo.

FPS_Management\iHardMaxFrametime (predefinito: 200)
Questo è in unità di millisecondi. è stato scoperto che quando il mio codice di regolazione del flusso di tempo mette in un tempo troppo grande al momento sbagliato, accadono cose strane. Cose brutte. Tipo... le npc vicine cadono casualmente morti. Questa impostazione impedisce che, impostando un massimo assoluto al numero di millisecondi che fsr permette di passare immediatamente nel normale corso delle cose. Normalmente si colpisce minimumfps prima di raggiungere questo limite, ma minimumfps viene rinunciato in alcune circostanze per prevenire effetti collaterali come movimenti labbra dessincronizzazione con voci, quindi questo agisce una sorta di secondo livello di minimumfps, il i-real-mean-it minimum fps. Impostarlo troppo basso può causare cose come i movimenti delle labbra dissincronizzati nelle conversazioni, impostarlo troppo alto può permettere bug come npcs-dropping-dead-random. Ho impostato 200 come compromisso- non dovrebbe causare le labbra a desynch a meno che il vostro framerate scenda a meno di 5 in una conversazione. E se stai giocando fallout ad una frequenza di fotogrammi inferiore a 5 allora hai bisogno di aiuto serio.

Sezione: CriticalSections {}
Questa sezione tratta di tutte le modifiche che fsr apporta a fallouts critical_sections. Vuoi sapere sugli oggetti critical_section? Fallout li utilizza per impedire ai suoi vari fili di uccidersi accidentalmente a vicenda. Microsoft fornisce il codice per loro. Fallout utilizza versioni leggermente diverse di loro a seconda di quale versione di finestre esegue su. Puoi leggere di più su msdn.

CriticalSections\bEnableProfiling (predefinito: 0)
Se impostato su 1 allora fsr registrerà informazioni sulla temporizzazione/prestazioni delle operazioni di sezione critica in fallout. Comportare una piccola ma significativa penalità alle prestazioni. Fsr registrerà le informazioni nel suo file di registro. Questo può potenzialmente produrre informazioni utili sul perché il vostro fallout sta balbettando o funzionando lentamente. Che le informazioni potrebbero essere utilizzate per regolare la sezione sovrascride del file fsr ini o qualcosa del genere.

CriticalSections\bEnableMessages(predefinito: 0)
Se impostato su 1 allora fsr registrerà informazioni su alcuni eventi di temporizzazione/prestazioni di sezioni critiche. Costo delle prestazioni per farlo è molto piccolo, ma può disordinare il file di registro rendendo più difficile trovare informazioni non critiche lì.

CriticalSections\bUseOverrides (predefinito: 1)
Se questo è impostato su 1 allora fsr utilizzerà le impostazioni nella sezione sovrascridi di ini per determinare cosa si dovrebbe fare a specifiche sezioni critiche.

CriticalSections\iDefaultMode(predefinito:2)
Questo determina cosa fa fsr alle sezioni critiche che non hanno una voce di modalità per loro nell'elenco di sovrascrizioni.
1: lascia quella sezione critica ad un comportamento approssimativamente normale.
2: adegua quella sezione critica per migliorare l'equità al costo del throughput. Questo può impedire a un thread di cogliere troppo una sezione critica, ma può velocità netta a cui le operazioni possono essere eseguite con quella sezione critica.
3: un tentativo di compromesso tra equità e throughput in cui di solito si ottimizza per throughput ma di tanto in tanto cambia il comportamento per ottimizzare per equità.
5: quella sezione critica viene soppressa. Sopprimere le sezioni critiche generalmente provoca un crash di fallout, ma anche generalmente migliora le prestazioni. Alcune sezioni critiche possono essere influenzate in modo diverso però.
6: che il thread principale ottiene priorità per quella sezione critica.
7: che i thread di background ottengono la priorità per quella sezione critica.

CriticalSections\iDefaultSpin (predefinito: 500)
Questo influisce su quanto tempo un thread continuerà a tentare di entrare in una sezione critica prima di chiedere allo scheduler di metterlo in sleep fino a quando quella sezione critica non diventa disponibile. In teoria un valore troppo piccolo comporterà troppi sovraccarico dello scheduler, mentre un valore troppo grande comporterà cicli di CPU sprecati. 500 è in realtà un valore un po' piccolo, credo. Il valore ideale può aumentare con il numero di core/thread hardware che avete.

CriticalSections\iStutterLevel (predefinito: 4)
Questo parametro influisce sulla frequenza in cui la modalità 2 della sezione critica cambia il comportamento. Vedi idefaultmode per maggiori informazioni sulla modalità della sezione critica 2. Un numero più piccolo significa commutazioni frequenti, un numero più grande significa commutazioni poco frequenti. Il valore ideale dovrebbe probabilmente essere da qualche parte nell'intervallo da 3 a 6.

Sezione: LightCriticalSections {}
Questa sezione tratta di tutte le modifiche che fsr apporta a una categoria di oggetti fallout che servono uno scopo simile a critical_sections ma sono più leggeri.

LightCriticalSections\bFullHooks(predefinito:0)
Se impostato su 1, questo accenderà la versione più completa dei ganci della sezione critica della luce. Sfortunatamente, la versione più completa è ancora buggy, quindi questo è predefinito per disabilitare al momento.

LightCriticalSections\bEnableProfiling (predefinito: 0)
Se impostato su 1 allora fsr registrerà informazioni sul tempismo/prestazioni delle operazioni della sezione critica della luce in fallout. Comportare una piccola ma significativa penalità alle prestazioni. Fsr registrerà le informazioni nel suo file di registro. Questo può potenzialmente produrre informazioni utili sul motivo per cui il tuo fallout sta balbettando o funzionando lentamente. Che le informazioni potrebbero essere utilizzate per regolare la sezione sovrascride del file fsr ini o qualcosa del genere.

LightCriticalSections\benablemess(predefinito:1)
Se impostato su 1 allora fsr registrerà informazioni su alcuni eventi di temporizzazione/performance delle sezioni critiche della luce. Costo delle prestazioni per farlo è molto piccolo, ma può disordinare il file di registro rendendo più difficile trovare informazioni non critiche lì.

LightCriticalSections\bUseOverrides (predefinito:1)
Se questo è impostato su 1 allora fsr utilizzerà le impostazioni nella sezione sovrascridi di ini per determinare cosa si dovrebbe fare a specifiche sezioni critiche. Le sovrascrizioni non avranno alcun effetto a meno che i ganci lcs completi non siano abilitati (bfullhooks sopra).

LightCriticalSections\iDefaultMode(predefinito:2)
Questo determina cosa fa fsr per illuminare le sezioni critiche che non hanno una voce di modalità per loro nell'elenco di sovrascrizioni. Tenta di utilizzare uno schema di numerazione della modalità simile alla roba delle sezioni critiche- vedi criticalsections\idefaultmode sopra per ulteriori informazioni. Alcune modalità possono comportarsi piuttosto diversamente a seconda del fatto che bfullhooks sia abilitato o meno.

LightCriticalSections\iDefaultSpin (predefinito: 500)
Questo determina cosa fa fsr per illuminare le sezioni critiche che non hanno una voce di spin per loro nell'elenco di sovrascrizioni. Tenta di avere un significato simile alla roba delle sezioni critiche- vedi criticalsections\idefaultspin sopra per ulteriori informazioni. Il significato dei giri può essere un po' diverso a seconda che bfullhooks sia abilitato o meno.

LightCriticalSections\iStutterLevel (predefinito: 4)
Questo parametro influenza la frequenza di comportamento di commutazione della modalità della sezione critica luce 2. Vedi idefaultmode per maggiori informazioni sulla modalità della sezione critica 2. Un numero più piccolo significa commutazioni frequenti, un numero più grande significa commutazioni poco frequenti. Il valore ideale dovrebbe probabilmente essere da qualche parte nell'intervallo da 3 a 6.


Sezione: Heap {}
Questa roba non funziona davvero per fallout ancora. Non usare.

Sezione: Hashtables {}
Fallout include un mucchio di hashtables per cercare tutti i tipi di cose. Usano un'implementazione di hashtable generalmente orribile, ma il vero problema è che non ridimensionano mai le loro hashtable. Quando un hashtable diventa eccessivo, le prestazioni scendono. Se un hashtable è inferiore allora un piccolo pezzo di memoria può essere sprecato, e la coerenza della cache può diminuire. Sfortunatamente, gran parte del codice hashtable è inlinato dappertutto, e fose fa varie ipotesi anche sulle hashtable, e non è affatto chiaro per me quale sia il modello di threading pertinente, quindi cambiarli in modo sicuro è abbastanza difficile. Eppure, ho dei ganci da hashtable, e stanno gradualmente migliorando.

Hashtables\bAllowDynamicResizing (predefinito: 0)
Se questo è impostato su 1 allora fsr aumenterà le dimensioni delle hashtables una volta che diventano overfull. L'atto di ridimensionarli è pieno di problemi tuttavia-può causare crash o glitches, e i metodi che uso per impedirlo di farlo possono causare piccole balbuzie delle prestazioni o altri crash o glitches. Comunque, a questo punto penso che potrebbe funzionare un po' decentemente.

Hashtables\bUseOverrides (predefinito: 0)
Attualmente non ci sono sovrascrizioni di hashtable, e la sintassi per specificarle è imbarazzante e ha il potenziale di fallire silenziosamente e fare qualcos'altro invece se si inserisce il valore sbagliato. Questo verrà infine risolto però per consentire agli hooks specificati in ini-file all'inizializzazione delle hashtables più importanti per farli iniziare a una dimensione decente invece di necessitare di essere ridimensionati in seguito.

Hashtables\bEnableProfiling (predefinito: 0)
Questo monitorerà le hashtables e registra le informazioni su quanto siano pieni e quanto ottengono accesso.

Hashtables\bEnableMessages (predefinito: 0)
Se questo è 1 allora il codice hashtables può occasionalmente registrare messaggi su ciò che sta facendo.

Hashtables\iHashtableResizeScale1(predefinito:2)
Hashtables\iHashtableResizeScale2(predefinito:4)
Se ballowdynamicresizing è 1 allora ihashtableresizescale1 determinerà il livello minimo di occupazione al quale una hashtable verrà ridimensionata, e ihashtableresizescale2 determinerà quanto più grande sarà la sua nuova dimensione. Entrambi i numeri sono effettivamente esponenti applicati a 2, quindi un'impostazione di 3 significa un fattore di 8, e un'impostazione di 5 significa un fattore di 32. In teoria ridurre ihashtableresizescale1 a 1 potrebbe migliorare di più le prestazioni, perché aumenterebbe le dimensioni di più hashtables. Ihashtableresizescale2 dovrebbe probabilmente essere impostato su 1 o 2 in più di ihashtableresizescale1.

Hashtables\iHashtableResizeDelay(predefinito: 20)
Questo è un numero di millisecondi per cui fsr si bloccherà quando ridimensionerà una hashtable. L'idea è che mentre non posso impedire ad un altro thread di accedere all'hashtable mentre sono impegnato con esso, posso, speriamo, impedire loro di *iniziare* ad accedere all'hashtable. Quindi ritardo abbastanza a lungo che forse, forse, chiunque stesse già accedendo all'hashtable finirà, poi faccio le mie cose. Che non funziona su fose purtroppo perché fose non fa le stesse cose che fa fallout, in più anche quando lo fa non usa i vtables per farli. Ma atm penso che fose possa accederli solo dal thread principale, quindi se il mio resizer esegue nel thread principale allora non deve preoccuparsi di fose. Forse.

Sezione: sovrascrive {}
Questa sezione contiene informazioni che indicano a fsr come trovare istanze specifiche vari tipi di oggetti che fsr conosce e modi per trattare queste istanze specifiche in modo diverso dalle impostazioni predefinite per quel tipo di oggetto. Attualmente solo le cose che effettivamente vengono elencate qui sono alcune sezioni critiche specifiche con comportamenti diversi rispetto alla maggior parte.



6. cronologia delle versioni:
====================================

FPS Capper versione 1:
Questo era conosciuto come capper fps. Tutto quello che ha fatto era la gestione di fps. Questa versione è stata integrata in un set modificato di dll obse.

FPS Capper versione 2:
Questa è stata la prima versione ad avere la propria dll separata da obse. Questo era conosciuto come capper fps. Tutto quello che ha fatto era la gestione di fps.

Oblivion stutter remover versione 3 beta 1:
La prima versione ad essere chiamato oblivion stutter remover. A volte si congela per diversi minuti al menu principale. Movimenti della voce e del volto di npc possono incasinare nel dialogo.
Versione 3 beta 2: i movimenti della voce e del volto di npc possono incasinare nel dialogo.

Olivion Stotter Remover Versione 3 Beta 6:
C'è stato un lungo ritardo tra la beta 5 e la beta 6, riempito da molti rilasci alfa. Questa è stata la prima versione di fsr a fare davvero un lavoro decente di ridurre effettivamente la balbuzie per l'utente medio. Questo è dovuto a nuove funzionalità: modifiche di equità delle sezioni critiche, soppressione delle sezioni critiche e sostituzione di heap. Sfortunatamente, la sostituzione di heap ha ancora gravi problemi per molti utenti. Bfix64hertz è stato impostato a 0 per impostazione predefinita in ini, dovrebbe essere 1 invece.

Nota: non c'è mai stata una versione 3 finale. Se c'è abbastanza domanda potrei fare uno basato sulla versione 3 beta 6 codice sorgente con alcune correzioni.

Eliminatore di balbuzie di fallimento versione 1 beta 1:
Porto iniziale di osr a caduta.

Eliminatore di balbuzie di dimenticamento/fallout versione 4.1.0:
Cambiamenti importanti:
1.Supporta sia fallout e oblivion nella stessa base di codice:Non fornisce tanto beneficio su fallout 3, ma aiuta.
2.File. ini: Formato di file ini completamente diverso
3.Ridimensionamento della tabella di hashtable: Nuove funzionalità per migliorare le prestazioni
4.Sezioni critiche e sezioni critiche leggere:Generalizzato molti casi speciali per sezioni critiche, ora molto più regolabili dal file ini. La"ganci completi "del codice della sezione critica leggera è ancora buggy.
5.Sostituzione heap: Risolto alcuni bug, ma penso che abbia ancora problemi. Ancora non funziona affatto sulle ricadute.
6.Nome della versione:Le versioni rilasciate su tesnexus sono ora chiamate versioni release anziché versioni beta. Le versioni rilasciate sul mio server ftp sono ora chiamate versioni beta anziché versioni alfa. La prima cifra del numero di versione viene incrementata solo quando vengono apportate modifiche significative al formato di configurazione o distribuzione. La seconda cifra del numero di versione viene incrementata ogni versione di rilascio. La terza cifra del numero di versione viene incrementata una volta per ogni versione beta. Ogni volta che una cifra viene incrementata, tutte le cifre più a destra vengono resettate a 0.




7. come funziona:


Questo è un plugin fose dll. Sostanzialmente hackera l'effetto di fallimento.

7.1: Gestione fps:
Il codice di gestione fps monitora le frequenze fotogrammatiche e regola il flusso del tempo di gioco. Mitigare la balbettatura rendendo la logica del gioco fallout non saltare avanti quando balbettare. Effettivamente, i fotogrammi che richiedono molto tempo finiscono per essere in moto rallento. Questo viene fatto facendo fallout agire come se ifpsclamp fosse impostato su minimumfps, ma solo per i frame che sono più lenti di minimumfps. Questo potrebbe anche migliorare la stabilità. Può anche imporre un framerate massimo- alcune persone percepiscono fallout come più fluido quando il suo framerate è impedito di superare la metà della frequenza di aggiornamento, in più questo aiuta a liberare risorse per fallout thread secondari.

Il codice di gestione fps può anche mettere il thread principale di fallout a dormire per brevi periodi di tempo, che è stato oberved per migliorare la balbettatura per alcune persone (anche se questa funzionalità può essere resa ridondante da altre cose che questo plugin fa).

7.2: sezioni critiche:
Le sezioni critiche sono primitive di sincronizzazione dei thread fornite da Microsoft che fallout utilizza internamente per assicurarsi che i thread non si danneggiino accidentalmente a vicenda. Fsr per impostazione predefinita fa sì che la maggior parte delle sezioni critiche tentino di giocare in modo equo anche al costo del throughput, assicurandosi che nessun thread abbia una risorsa di cui gli altri thread hanno bisogno. Tuttavia, una specifica sezione critica viene sovrascritta per utilizzare un metodo leggermente meno equo, e un'altra specifica sezione critica viene soppressa in modo che non abbia alcun effetto. Ed è tutto molto configurabile dal file ini. Anche i spincounts vengono sovrascritti.

7.3: sostituzione heap:
Questa funzione non funziona correttamente su fallout 3 ancora.

7.4: Hashtables:
Fallout include un mucchio di hashtables per cercare tutti i tipi di cose. Usano un'implementazione di hashtable generalmente orribile, ma il vero problema è che non ridimensionano mai le loro hashtable. Quando un hashtable diventa eccessivo, le prestazioni scendono. Se un hashtable è inferiore allora un piccolo po' di memoria può essere sprecato. Sfortunatamente, gran parte del codice hashtable è inlinato dappertutto, e fose fa varie ipotesi anche sulle hashtable, e non è affatto chiaro per me quale sia il modello di threading pertinente, quindi cambiarli in modo sicuro è abbastanza difficile.

Eppure, ho dei ganci da hashtable, e stanno gradualmente migliorando. Fsr può aumentare le dimensioni delle hashtables una volta che diventano eccessive. L'atto di ridimensionarli è pieno di problemi tuttavia-può causare crash o glitches, e i metodi che uso per impedirlo di farlo possono causare piccole balbuzie delle prestazioni o altri crash o glitches. Comunque, a questo punto penso che potrebbe funzionare un po' decentemente. In futuro potrei sostituire o supplementare questo con sovrascrivere le dimensioni iniziali di alcune hashtables.


====================================
8. Crediti:
====================================

Questo plugin è stato fatto da me (Christopher Doty-Humphrey).

Non sarebbe stato possibile senza gli enormi sforzi compiuti dalla squadra fose. Inoltre, Ian Patterson(un ragazzo del team fose) mi ha aiutato attraverso un sacco di punti dove ho avuto problemi.

Il thread originale che mi ha spinto ad avviare questo plugin è stato avviato da deviuscreed.

Numerosi tester hanno fornito utili feedback. In particolare le informazioni di mashani su quali impostazioni hanno prodotto quali risultati per lui mi hanno aiutato a capire perché le prime versioni di questo stessero producendo benefici inaspettati, e ha portato a un certo numero di funzionalità e impostazioni nelle versioni successive.

Vorrei anche ringraziare badhair per avermi indicato a hashtables overfull come causa di problemi di prestazione.

I seguenti strumenti sono stati utilizzati nella produzione di questo plugin:
Oblivion/Fallout, by Bethesda
OBSE/fose e il codice sorgente OBSE/fose
Microsoft Visual C++ 2008 Express Edition
IDA Free (debugger interattivo, versione gratuita, versione 4.9)
Motore cheat (versione 5.4)
Più le cose ovvie come Windows XP, Notepad e Firefox.

Con l'eccezione di oblivion/fallout e finestre xp, tutti questi sono disponibili gratuitamente.

Ho anche avuto workshop hex e ollydbg raccomandato a me ma non sono arrivato a provarli ancora.
Questo strumento è fornito da terze parti [bufftool]Icona di attenzione

Scarica subito le mod

Installa LagoFast, avvia Fallout 3 - Game of the Year Edition e gioca con le mod che ami.