QNA > C > Come Dedicare Più Ram Alla Mia Nvidia Gtx 1050 Ti

Come dedicare più RAM alla mia Nvidia GTX 1050 Ti

Le altre risposte su questo vanno da "non puoi farlo" a "perché dovresti? la ram di sistema è più lenta". La prima è tecnicamente sbagliata e sarà spiegata di seguito, mentre la seconda è tecnicamente vera in quanto la ram di sistema è invariabilmente più lenta della ram video, ma è anche più veloce (molto più veloce) del paging ripetuto delle texture da disco.

Al meglio assoluto, dovrete prendere un metodo indiretto per far sì che i vostri giochi usino la memoria di sistema oltre alla memoria video. Attualmente in Windows 10 (non conosco le versioni precedenti di Windows perché non ho sistemi che le eseguono), i giochi che utilizzano Direct3D 12 o Vulkan possono fare uso della memoria video condivisa in aggiunta alla memoria video dedicata. Ma c'è un modo, con vari livelli di successo, per convincere i vecchi giochi che utilizzano, ad esempio, le Direct3D da 9 a 11, a utilizzare la memoria video condivisa, quando per impostazione predefinita non solo non lo fanno, ma non possono farlo.

La soluzione è DXVK. DXVK è un wrapper Vulkan per Direct3D9-11, che esiste principalmente per consentire agli utenti Linux di eseguire giochi Direct3D all'interno di Wine, traducendo le chiamate di funzione Direct3D in Vulkan. Ma la cosa divertente è che le librerie Direct3D di DXVK funzionano bene anche in Windows nativo, ma il successo effettivo nel farle funzionare varia da gioco a gioco a causa di tutti i vari hack prestazionali specifici dei venditori che gli sviluppatori hanno utilizzato nel corso degli anni per ottenere l'ultimo aumento di framerate.

Quindi il passo 1 sarebbe scaricare l'ultima release binaria di DXVK, la 1.7.2 al momento di questo scritto. Ignorate il fatto che si presenta in un archivio .tar.gz - di nuovo, l'uso su Linux è previsto dagli sviluppatori, ma dovreste avere zero problemi ad estrarlo in Windows a prescindere. Ora, i file saranno organizzati in base al fatto che tu stia eseguendo un binario a 32-bit (x32) o 64-bit (x64). Estraete i file in un posto dove potrete trovarli in seguito, perché dovrete essere pignoli su quali file usare, varieranno da gioco a gioco, non tutti i giochi funzioneranno con questo, e potrebbe anche essere interpretato come imbroglio se siete abbastanza stupidi/pazzi da provarci con giochi solo multiplayer.

Step 2, dovrete capire se il vostro gioco di destinazione è a 32-bit o 64-bit, e poi determinare quale versione di DirectX utilizza. Questo deciderà in gran parte quale file DLL inserire nella stessa directory dell'eseguibile del gioco (regola empirica: dxgi.dll + la corrispondente dll per qualsiasi versione di DirectX utilizzata dal gioco; ho avuto diversi giochi che sono andati in crash silenziosamente se non ho fatto questo). Non finisce qui. Dovrete creare un file di testo chiamato dxvk.conf nella stessa directory. Cercate su Google dxvk.conf per vedere cosa dovrebbe includere il suo contenuto, dato che fa parte della documentazione online di dxvk. For the sake of providing an example, this is my dxvk.conf for Fallout 4:

  1. [Fallout4.exe] 
  2. dxgi.deferSurfaceCreation = False 
  3. dxgi.maxFrameLatency = 1 
  4. dxgi.customDeviceId = 0x1f08 
  5. dxgi.customVendorId = 0x10de 
  6. dxgi.nvapiHack = True 
  7. dxgi.maxDeviceMemory = 5980 
  8. dxgi.maxSharedMemory = 16322 
  9. dxgi.numBackBuffers = 0 
  10. dxgi.syncInterval = -1 
  11. dxgi.tearFree = Auto 
  12. d3d11.constantBufferRangeCheck = False 
  13. d3d11.dcSingleUseMode = True 
  14. d3d11.maxFeatureLevel = 11_1 
  15. d3d11.maxTessFactor = 64 
  16. d3d11.relaxedBarriers = False 
  17. d3d11.samplerAnisotropy = 16 
  18. d3d11.invariantPosition = False 
  19. d3d11.enableRtOutputNanFixup = False 
  20. d3d11.zeroWorkgroupMemory = False 
  21. dxvk.numCompilerThreads = 0 
  22. dxvk.useRawSsbo = Auto 
  23. dxvk.useEarlyDiscard = Auto 
  24. dxvk.hud = compiler 

Most of those settings will tend to work just fine for dx11 games, but four of them, customdeviceid, customvendorid, maxdevicememory, and maxsharedmemory, you’ll have to derive from running vulkaninfo-64.exe from the Vulkan SDK in order to tailor them to your specific hardware configuration. Per chi è curioso, la mia è una GeForce RTX 2060 6GB in un sistema con 32GB di ram.

Ci sarà un bel po' di tentativi ed errori per far funzionare questo, e non è una garanzia che funzionerà. Sono riuscito a farlo funzionare in Fallout 4, Skyrim SE, Just Cause 3, Terminator: Resistance, Stellaris (nella sua beta dx11, niente meno), Assassin's Creed 4: Black Flag, Nelo, Nier: Automata (non è sorprendente visto che dxvk è stato originariamente sviluppato per rendere questo gioco giocabile in Linux), Supreme Commander, e Surviving Mars. Non sono ancora riuscito a farlo funzionare in Subnautica, Encased, Deus Ex: Mankind Divided, o Osiris: New Dawn.

EDIT: Prova che funziona:

main-qimg-c2eab1be58ba0ed7d644cee7484d59f4-mzj

Il monitor sulla destra sta eseguendo Skyrim SE. Il monitor a sinistra è la mia solita configurazione di monitoraggio del sistema. I giochi DX11 non possono utilizzare la memoria video condivisa. DX12 e Vulkan sì. E sì, ho un sacco di dischi su questo impianto.

Di Lund Ravikant

Quali sono le migliori videocamere per vlogging per principianti e professionisti? :: Periferiche per computer: Chi ha inventato il mouse?
Link utili