Gå til innhold

Hvorfor trenger man MUX?


Helm

Anbefalte innlegg

Tittelen er spørsmålet. Jeg vet hva en MUX-bryter gjør, den kobler ut Nvidia Optimus og resultatet er litt bedre ytelse fordi det tillater GPU å styre skjermsignalene alene.

Men det samme kan man gjøre i innstillingene i kontrollpanelet til Nvidia. Så hvorfor skal man ha enda en bryter som gjør det samme?

 

Lenke til kommentar
Videoannonse
Annonse

Uten MUX må skjermbildet sendes fra den dedikerte GPU-en over PCIe til GPU-en på prosessoren, som så sender bildet til skjermen, med en MUX går skjermbildet direkte fra dedikert skjermkort til skjermen. Det å overføre skjermbildet over PCIe spiser opp en god del tid for skjermkortet, og reduserer derfor ytelsen.

  • Liker 1
Lenke til kommentar
12 hours ago, N o r e n g said:

Uten MUX må skjermbildet sendes fra den dedikerte GPU-en over PCIe til GPU-en på prosessoren, som så sender bildet til skjermen, med en MUX går skjermbildet direkte fra dedikert skjermkort til skjermen. Det å overføre skjermbildet over PCIe spiser opp en god del tid for skjermkortet, og reduserer derfor ytelsen.

Ja det er nettopp dette jeg prøver å si. Men man trenger ikke en MUX når man kan gjøre det samme i Nvidia kontrollpanel? Der kan man angi at PC-en bare bruker GeForce hele tiden.

Overser jeg noe?

 

Lenke til kommentar
Helm skrev (2 minutter siden):

Ja det er nettopp dette jeg prøver å si. Men man trenger ikke en MUX når man kan gjøre det samme i Nvidia kontrollpanel? Der kan man angi at PC-en bare bruker GeForce hele tiden.

Overser jeg noe?

 

Du kan ikke endre hvordan maskinvaren fungerer bare fordi du har en innstilling i et program.

Lenke til kommentar

Når man ikke har MUX, blir tapet mindre hvis man har en sterk CPU? F.eks Ryzen 9 5900HX.

 

3 hours ago, N o r e n g said:

Du kan ikke endre hvordan maskinvaren fungerer bare fordi du har en innstilling i et program.

Jeg betviler ikke at du har rett når du sier at innstillingene i Nvidia ikke utretter det samme. Med det sagt, så er MUX-bryteren også en innstilling i et program... :)

 

Lenke til kommentar
Helm skrev (1 time siden):

Når man ikke har MUX, blir tapet mindre hvis man har en sterk CPU? F.eks Ryzen 9 5900HX.

Tapet blir størst ved høy framerate, og minst ved lav framerate. I tillegg vil raskere PCIe gi mindre tap.

GPU tegner et og et bilde av gangen. Når bildet er ferdig sendes det enten direkte til skjermen fra GPU-en (hvis du har en MUX), eller så stopper GPU-en å jobbe mens den sender bildet over til iGPU. Hvert bilde sendes ukomprimert over PCIe, så hvis du har en skjerm 1920x1080 blir det da ca 8 MB per bilde. Bildet må sendes over PCIe 3.0 x16, som levere litt mindre enn 16 GB/s med båndbredde.

Nå høres sikkert 8 MB over 16 GB/s ganske håndterlig ut, men hvis vi ser på tiden til rådighet per bilde blir det noe annerledes. 16 GB/s gir 16 MB / ms, altså bruker skjermkortet 0.5 ms på å sende et bilde over PCIe 3.0 x16. Hvis du skal ha 60 bilder i sekundet er det ca 16.67 ms til rådighet for GPU-en å tegne et bilde, og sende det tilbake.

Så ved 60 bilder i sekundet vil GPU-en bruke minst 3% av den potensielle ytelsen til å sende et bilde over PCIe.

Ved 120 bilder i sekundet brukes minst 6% av tiden til GPU-en på å sende bilder over PCIe.

En dobling i oppløsning til 2560x1440 vil doble tiden GPU-en bruker på å sende over bildet.

I tillegg må GPU-en motta en del informasjon hver gang den skal tegne et bilde, om hvor forskjellige 3D-modeller skal stå, og kanskje bytte ut noen teksturer og lignende, dette spiser også opp en del tid.

Hvis du går for en CPU med PCIe 4.0-støtte (Intel 11. og 12. generasjon, eller AMD Ryzen 6. generasjon på laptop), vil tiden halveres.

 

EDIT: I tillegg vil en MUX-bryter skru av iGPU, som vil resultere i at iGPU ikke spiser opp ytelse CPU-en kunne brukt. Altså vil spill som CS:GO få en dramatisk økning i ytelse.

Endret av N o r e n g
  • Innsiktsfullt 1
Lenke til kommentar
On 3/15/2022 at 6:57 PM, N o r e n g said:

Tapet blir størst ved høy framerate, og minst ved lav framerate. I tillegg vil raskere PCIe gi mindre tap.

GPU tegner et og et bilde av gangen. Når bildet er ferdig sendes det enten direkte til skjermen fra GPU-en (hvis du har en MUX), eller så stopper GPU-en å jobbe mens den sender bildet over til iGPU. Hvert bilde sendes ukomprimert over PCIe, så hvis du har en skjerm 1920x1080 blir det da ca 8 MB per bilde. Bildet må sendes over PCIe 3.0 x16, som levere litt mindre enn 16 GB/s med båndbredde.

Nå høres sikkert 8 MB over 16 GB/s ganske håndterlig ut, men hvis vi ser på tiden til rådighet per bilde blir det noe annerledes. 16 GB/s gir 16 MB / ms, altså bruker skjermkortet 0.5 ms på å sende et bilde over PCIe 3.0 x16. Hvis du skal ha 60 bilder i sekundet er det ca 16.67 ms til rådighet for GPU-en å tegne et bilde, og sende det tilbake.

Så ved 60 bilder i sekundet vil GPU-en bruke minst 3% av den potensielle ytelsen til å sende et bilde over PCIe.

Ved 120 bilder i sekundet brukes minst 6% av tiden til GPU-en på å sende bilder over PCIe.

Dette her er helt feil. GPU-en står ikke og tvinner tommeltotter mens rammen sendes over PCIe. Den starter å tegne neste ramme til et nytt frame buffer mens forrige frame buffer blir overført via PCIe.

Det er nok heller den ekstra belastningen man får på PCIe og minnesystemet som gjør at ytelsen blir lavere, og det at iGPU også må være aktiv som du nevner.

  • Innsiktsfullt 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...