# [VIDEO] Come migliorare le prestazioni di una scheda nvidia

## Cazzantonio

Vi posto un po' si output utili per capire la questione:

```

ale@casa01 ale $ glxgears

5437 frames in 5.0 seconds = 1087.400 FPS

6570 frames in 5.0 seconds = 1314.000 FPS

6549 frames in 5.0 seconds = 1309.800 FPS

6565 frames in 5.0 seconds = 1313.000 FPS

6555 frames in 5.0 seconds = 1311.000 FPS

6554 frames in 5.0 seconds = 1310.800 FPS

ale@casa01 ale $ cat /proc/driver/nvidia/agp/status 

Status:          Enabled

Driver:          AGPGART

AGP Rate:        8x

Fast Writes:     Enabled

SBA:             Enabled

```

E XF86config relativo alla scheda video

```

Section "Device"

    Identifier  "geforcefx"

    Driver      "nvidia"

    VideoRam    131072

#    Option   "NoLogo" "True"

#    Option   "NvAGP" "1"

```

La mia scheda è una geforceFX 5200 128mb ram, la mia versioni di xfree la 4.3.0-r5 e i driver nvidia sono:

nvidia-kernel-1.0.5336-r4

nvidia-glx-1.0.5336-r2

Sinceramente mi sembrano pochini 1300 FPS... anche perchè ho visto radeon 9200SE che facevano almeno 1600 FPS con i driver scaciosi di ATI   :Rolling Eyes: 

Qualcuno sa darmi qualche suggerimento su come migliorare le prestazioni della mia scheda? O forse è il massimo che si possa spremere (via software ovviamente, non ho intenzione di overcloccare alcunchè)?

----------

## silian87

Intento se hai un athon dovresi aver compilato xfree con la USE 3dnow. Poi potresti mettere xorg, poiche' piu' nuovo e aggiornare i driver nvidia all'ultima stabile, anche se non so quanto possano migliorare le prestazioni queste ultime cose. Come kernel dovresti avere un gentoo-dev-sources o gentoo-sources per andare piu' velocino su robe di quel genere, ma ti ripeto, non penso che cambieresti molto la situazione......

----------

## gutter

Sono davvero pochini fa il il conto che io con una TNT2 e kernel gentoo-dev-sources-2.6.5-r1 e i driver nvidia-kernel-1.0.4496-r3 facevo circa 780 FPS con glxgears

Ma che kernel sta usando?

Io ho riscontrato problemi come da topic:

https://forums.gentoo.org/viewtopic.php?t=187788

con il kernel gentoo-dev-sources-2.6.7 nel senso che ottenevo prestazioni di un decimo cioè circa 70 FPS con glxgears.

----------

## ProT-0-TypE

ho la stessa scheda... e ti dico una cosa: fa KAKARE! non puoi migliorare le prestazioni, se non sganciando altri soldini e comprartene una decente... 

Ho riscontrato qualche miglioramento usando l'nvagp invece dell'agpgart, ma ci sono i pro e i contro, i contro li ho elencati qua

----------

## Cazzantonio

Beh... Xorg ancora non lo metto perchè è masked e le volte che ho provato ad emergerlo mi diceva che xfree lo bloccava e non voglio passare una giornata a vedere come installarlo (mi deciderò al grande passo quando sarà almeno riconosciuto come stabile)

Uso il kernel 2.6.5-gentoo-r1 ma tra qualche giorno vedrò di passare al 2.6.7, tuttavia non mi aspetto di vedere miglioramenti nei confronti della scheda video, semmai ho letto di alcuni bug....

Usando nvagp rispetto ad agpgart guadagnavo si e no 70 fps... non ne vale la pena visto che qualcuno ci ha anche trovato dei bug...

Peccato... pensavo che questa scheda fosse parecchio migliore di quello che è  in realtà a quanto pare....  :Mad: 

Di sicuro non ricompro una scheda per qualche fps in più... tanto a parte tuxracer non è che ci faccia girare il mondo in 3d. Vedrò di accontentarmi  :Rolling Eyes: 

----------

## koma

non riesco ad abilitare l'agp sulla mia nvidia geforce 4 mx (se) .. eppèure ho messo NvAgp 1 nel file di configurazione

----------

## Cazzantonio

Anche io...

se dai 

```

cat /proc/driver/nvidia/agp/status

```

dovrebbe dirti qualcosa riguardo al tuo agp

Senza la riga  NvAgp 1 in XF86config mi diceva 

```

Status:          Enabled

Driver:          AGPGART

AGP Rate:        8x

Fast Writes:     Enabled

SBA:             Enabled 

```

Con la riga mi diceva 

```

Status:          Enabled

Driver:          AGPGART (disabled)

AGP Rate:        8x

Fast Writes:     Enabled

SBA:             Enabled 

```

ma andava ~70 fps più veloce.... quindi penso che fosse perchè usava i nvagp e non ho più indagato....  :Rolling Eyes: 

Comunque effettivamente è strano che non dica nvagp al posto di agpgart....  :Confused: 

----------

## Peach

se riesci ad usare NVagp ti dovrebbe venire fuori questo:

```
# cat /proc/driver/nvidia/agp/status 

Status:          Enabled

Driver:          NVIDIA

AGP Rate:        4x

Fast Writes:     Disabled

SBA:             Disabled
```

Chiaramente devi avere AGPGART come modulo e in nel config di X (xfree o xorg) alla sezione "Device":

```
    Option      "NvAGP"         "3" # 0=no AGP ; 1=nvidia AGP ; 2=AGPGART ; 3=agpgart THEN nvidia AGP
```

è quello che uso io (pare da me preferisca l'agp dell'nvidia, boh)

----------

## Cazzantonio

Io agpgart ce l'ho nativo nel kernel... va bene uguale?

E poi perchè 

```

"NvAGP"         "3"

```

invece di

```

"NvAGP"         "1"

```

?

Con il 3 ti prende prima l'agpgart e poi se non lo trova l'nvagp... o ho capito male io?

----------

## Peach

si, in teoria si... 

ti dicevo questo per giustificare la mia scelta: agpgart l'ho compilato come modulo (c'è insomma) e viene pure caricato (con lsmod si vede) mentre per la gestione dell'AGP pare usi nvAGP...

quindi non so spiegarti bene com'è sta cosa...

misteri   :Twisted Evil: 

----------

## FonderiaDigitale

con 1 usa il bus AGP interno delle schede nvidia, con 3 tenta di usare il bus interno e va in fallback sul supporto AGP della tua scheda madre.

----------

## gaffiere

zera  :Smile: 

mi spiegate una cosa? che differenza c'è tra nvagp e l'agpgart?

come da firma ho una bellissima 750xgl della PNY che con glxgears mi fà 

```
bash-2.05b$ glxgears 

17048 frames in 5.0 seconds = 3409.600 FPS

20109 frames in 5.0 seconds = 4021.800 FPS

20043 frames in 5.0 seconds = 4008.600 FPS

20151 frames in 5.0 seconds = 4030.200 FPS

20106 frames in 5.0 seconds = 4021.200 FPS

20097 frames in 5.0 seconds = 4019.400 FPS

bash-2.05b$ 

```

che non mi sembra male.

però perchè con 

```
cat /proc/driver/nvidia/agp/status
```

 ottengo

```
Status:          Enabled

Driver:          AGPGART

AGP Rate:        4x

Fast Writes:     Disabled

SBA:             Disabled

```

mi sà tanto che se quel Fast Writes e SBA passassero da disabled a enabled guadagnerei qualcosa o no?

la sezione di XF86Config relativa alla scheda è:

```
Section "Device"

    Identifier  "NVIDIAXGL750"

    #Option "NvAGP" "3"

    Driver      "nvidia"

        # unsupported card

    #VideoRam    131072

    # Insert Clocks lines here if appropriate

    Option "AGPMode" "4"

    Option "AGPFastWrite" "True"

    Option "EnablePageFlip" "True"

EndSection

```

e qui però vedo AGPFastWrite True...

qualcosa non mi torna

see ya

----------

## Peach

per abilitare il FW e l'SBA nn servono a nulla quelle opzioni nel config di X, occorre invece modificare le opzioni specifiche del modulo.

edita quindi /etc/modules.d/nvidia e segui le istruzioni  :Wink: 

in ogni caso ti consiglio, prima di fare qualsiasi modifica (che come noterai è considerata pericolosa per la stabilità del sistema) di controllare che sia la scheda che la tua mobo supportino le due opzioni:

```
# cat /proc/driver/nvidia/agp/host-bridge 

Host Bridge:     VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]

Fast Writes:     Not Supported

SBA:             Supported

AGP Rates:       4x 2x 1x 

Registers:       0x1f000207:0x00000104
```

e poi:

```
# cat /proc/driver/nvidia/agp/card 

Fast Writes:     Supported

SBA:             Not Supported

AGP Rates:       4x 2x 1x 

Registers:       0x1f000017:0x1f000104
```

nel mio caso specifico l'abilitazione di una delle due opzioni mi ha portato una simpatica schiera di freeze del sistema  :Confused: 

----------

## ProT-0-TypE

se avete abilitato nel kernel l'agpgart (anche come modulo) l'nvagp non parte, anche se avete NvAGP 1 nel config di X. dovete proprio toglierlo dal kernel

----------

## gaffiere

 *Peach wrote:*   

> per abilitare il FW e l'SBA nn servono a nulla quelle opzioni nel config di X, occorre invece modificare le opzioni specifiche del modulo.
> 
> edita quindi /etc/modules.d/nvidia e segui le istruzioni 
> 
> <SNIP>
> ...

 

grazie mille  :Smile: 

sembrerebbe stabile e ho guadagnato un sano centinaio di frame!

```
bash-2.05b$ glxgears 

20243 frames in 5.0 seconds = 4048.600 FPS

20843 frames in 5.0 seconds = 4168.600 FPS

20894 frames in 5.0 seconds = 4178.800 FPS

20907 frames in 5.0 seconds = 4181.400 FPS

20828 frames in 5.0 seconds = 4165.600 FPS

bash-2.05b$ 

```

o che fig@t@   :Twisted Evil: 

cmq mi documenterò poi su differrenza agpgart e nvagp, e soprattutto dove trovare e inserire quest'ultimo.

tnx ancora

see ya

----------

## ProT-0-TypE

NvAGP è il modulo dell'agp di nvidia. per abilitarlo ti basta semplicemente togliere l'agpgart dal kernel e mettere nel config di x (xorg.conf o XF86Config) Option "NvAGP" "1" nella sezione della scheda video. In teoria basterebbe fare quest'ultima cosa.. ma se hai cmq l'agpgart nel kernel anche semplicemente come modulo non funziona... 

per disabilitare l'agpgart nel kernel deseleziona Device Drivers  ---> Character devices  ---> │< > /dev/agpgart (AGP Support)

----------

## gaffiere

 *ProT-0-TypE wrote:*   

> NvAGP è il modulo dell'agp di nvidia

 

ok, quindi dovrebbe esserci un file corrispondente vero?

```
Middle-Earth root # find /. -iname nvagp*

Middle-Earth root # 
```

o è troppo tardi e mi stò perdendo in un bicchier d'acqua o devo smettere di studiare e cercare nel frattempo di migliorare le prestazioni della mia scheda video   :Laughing: 

see ya

----------

## n3m0

 *gaffiere wrote:*   

> 
> 
> ok, quindi dovrebbe esserci un file corrispondente vero?
> 
> ```
> ...

 

No. 

Per usare il supporto AGP di nvidia devi aggiungere

```

Option "NvAGP" "1"

```

alla sezione Device dell'XF86Config (o chi ne fa le veci), dove specifichi anche il driver da utilizzare.

----------

## koma

Va  :Cool: 

```

#cat /proc/driver/nvidia/agp/status

Status:          Enabled

Driver:          AGPGART

AGP Rate:        4x

Fast Writes:     Enabled

SBA:             Disabled

```

Normale

```

[No e-mail] koma@HellMachine koma $ glxgears 

6848 frames in 5.0 seconds = 1369.600 FPS

7393 frames in 5.0 seconds = 1478.600 FPS

7422 frames in 5.0 seconds = 1484.400 FPS

7441 frames in 5.0 seconds = 1488.200 FPS
```

Maximizzato

```

[No e-mail] koma@HellMachine koma $ glxgears 

2555 frames in 5.0 seconds = 511.000 FPS

804 frames in 5.0 seconds = 160.800 FPS

802 frames in 5.0 seconds = 160.400 FPS

```

----------

## shanghai

Io non avevo ancora attivato il fastwrites, e usavo i drivers del kernel. Ora uso i drivers nvidia e ho attivato il fast writes:

```
prima

16179 frames in 5.0 seconds = 3235.800 FPS
```

```
dopo

16824 frames in 5.0 seconds = 3364.800 FPS
```

Gran cosa...

----------

## nick_spacca

 *shanghai wrote:*   

> Io non avevo ancora attivato il fastwrites, e usavo i drivers del kernel. Ora uso i drivers nvidia e ho attivato il fast writes:
> 
> ```
> prima
> 
> ...

 

Scusa ma che scheda hai???

----------

## .:deadhead:.

Question...

Nel kernel quindi se uso i driver NVIDIA non devo attivare ne la voce relativa a /dev/agpgat che quella relativa al DRI, giusto  :Question: 

----------

## shanghai

Hercules Ti II  :Very Happy:  :Very Happy:  :Very Happy: 

Processore NVidia GeForce 2...

64 Mb ram

AGP 4x

Fast writes

Pagata abbastanza all'epoca, (tre anni fà) valeva di più  :Smile: 

----------

## Cagnulein

ma 

```
Fast Writes:     Disabled 

SBA:             Disabled
```

 si abilitano solo da bios o si può anche dall'interno del S.O.?

----------

## ProT-0-TypE

 *Cagnulein wrote:*   

> ma 
> 
> ```
> Fast Writes:     Disabled 
> 
> ...

 

all'interno dell'os. quarda un po qua: /etc/modules.d/nvidia

----------

## Cazzantonio

 *shangai wrote:*   

> Io non avevo ancora attivato il fastwrites, e usavo i drivers del kernel. Ora uso i drivers nvidia e ho attivato il fast writes:
> 
> Codice:
> 
> prima
> ...

 

Sono contentissimo per te shangai... tuttavia.... come è possibile che a me con un barton 2500, geforcefx5200 128mb ram, driver nvidia ultimissimi, farst writes e side band addressing mi faccia invece ~1350 FPS??????

Senza offesa me a te fa 3000 fps con una geforce 2 con 64mb ram!

Voglio fare una domanda sciocca...

Dove si trovano elencate (e magari spiegate) tutte le opzioni da passare ai driver nvidia e all'XF86Config?

Qualcuno lo sa? (io ne ho trovate un po' ma erano di roba tipo il tvout etc...)

----------

## ProT-0-TypE

è colpa della scheda video... è una m***a! un po di tempo fa avevo aperto un post simile, perchè non caapivo se la scheda era configurata male oppure gli fps massimi facevano veramente schifo.sono giunto alla conclusione che la risposta esatta è la seconda

----------

## gaffiere

ok non essere prestanti come scheda... ma così mi sà che la 5200fx è configurata malino. IMHO

controllato tutto?

see ya

----------

## Cazzantonio

Ho controllato tutto quello che conosco:

Ho abilitato l'agp di nvidia (ma con agpgart faceva uguale), il side band addressing e il fast write

```
cat /proc/driver/nvidia/agp/status 

Status:          Enabled

Driver:          NVIDIA

AGP Rate:        8x

Fast Writes:     Enabled

SBA:             Enabled
```

ho messo i driver nvidia masked (anche perchè con quelli non masked non funge...) e ho lanciato glxgears con i risultati già postati...

Sinceramente ho qualcuno mi dice qualche opzione nuova da settare o significa che la scheda funziona proprio così (senza overclock ovviamente)

Ha...

Aggiungo anche:

```
ale@casa01 ale $ nvclock -i

NVClock v0.7

-- General info --

Card:           nVidia GeforceFX 5200

PCI id:         0x322

GPU speed:      249.750 MHz

Bustype:        AGP

-- Memory info --

Amount:         128 MB

Type:           128 bit DDR

Speed:          405.000 MHz

-- AGP info --

Status:         Enabled

Rate:           8X

AGP rates:      4X 8X 

Fast Writes:    Enabled

SBA:            Enabled
```

----------

## gaffiere

quando passare ai driver nuovi fà bene  :Smile: 

ho emergiato l'ultima versione disponibile di nvidia-kernel e glx.

e questo è stata la risposta di glxgears:

```
bash-2.05b$ glxgears 

22612 frames in 5.0 seconds = 4522.400 FPS

27041 frames in 5.0 seconds = 5408.200 FPS

27012 frames in 5.0 seconds = 5402.400 FPS

```

 con solo xfce, gkrellm e 2 xterm. perdo un 200 frame se avvio altri programmi quali firefox, sylpheed-claws e gaim.

non mi lamento   :Cool: 

see ya

----------

## shanghai

 *Cazzantonio wrote:*   

> Sono contentissimo per te shangai... tuttavia.... come è possibile che a me con un barton 2500, geforcefx5200 128mb ram, driver nvidia ultimissimi, farst writes e side band addressing mi faccia invece ~1350 FPS??????
> 
> Senza offesa me a te fa 3000 fps con una geforce 2 con 64mb ram!

 

Eh già  :Smile: 

Alla Hercules, quando vennero fuori le prime schede 3D, ebbero subito un'ottima idea. 

Un'immagine da un'animazione in 3D, per essere riprodotta sul monitor segue più o meno questi passaggi:

a) il modello 3D viene analizzato integralmente

b) renderizzato integralmente

c) "schiacciato" su una superfice 2D (quella del monitor)

d) si applicano eventuali effetti

e) l'immagine si invia al monitor

Tutto questo in qualche millesimo di secondo.

Le schede hercules invece contengono una tecnologia che "ritaglia" il modello 3D secondo la schermata che verrà visualizzata prima di renderizzarlo. In questo modo la fase di rendering è più veloce, incentrata solo sugli elementi essenziali: è perfettamente inutile renderizzare le facciate posteriori e interne degli elementi, è come se un pittore disegnasse prima un uomo nudo intero e poi tutti i vestiti uno per uno. Ci vuole molto più tempo che non a disegnare via via tutti i vestiti più esterni e poi le parti visibili degli elementi che stanno dentro, o dietro. 

E poi quando la comprai costava un bel pò, e includeva già il supporto a OpenGL 2 che ancora pochi usavano.

A distanza di tempo, devo dire, un ottimo acquisto.

Comunque c'è un'altra cosa da considerare.

Per quante evoluzioni si siano avute nella storia recente di questo tipo di hardware/tecnologia, il collo di bottiglia non è il numero di frame al secondo su animazioni in 3D -che effettivamente variano da scheda a scheda- ma l'antialiasing. Quando ripeti il test su modelli a cui applichi l'antialiasing, la differenza tra un modello vecchio (diciamo una geforce 2) e uno nuovissimo è molto scarso...

----------

## Peach

shanghai fai invidia anche a me... 

 :Evil or Very Mad: 

io sinceramente ho la tua stessa scheda:

```
0000:01:00.0 VGA compatible controller: nVidia Corporation NV15DDR [GeForce2 Ti] (rev a4) (prog-if 00 [VGA])

        Subsystem: Hercules: Unknown device 0051

        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-

        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

        Latency: 248 (1250ns min, 250ns max)

        Interrupt: pin A routed to IRQ 11

        Region 0: Memory at ee000000 (32-bit, non-prefetchable) [size=efff0000]

        Region 1: Memory at f0000000 (32-bit, prefetchable) [size=128M]

        Expansion ROM at 00010000 [disabled]

        Capabilities: [60] Power Management version 1

                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

        Capabilities: [44] AGP version 2.0

                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4

                Command: RQ=32 ArqSz=0 Cal=0 SBA- AGP+ GART64- 64bit- FW- Rate=x4
```

e

```
# nvclock -i

NVClock v0.7

-- General info --

Card:           nVidia Geforce 2 Ti

PCI id:         0x151

GPU speed:      250.014 MHz

Bustype:        AGP

-- Memory info --

Amount:         64 MB

Type:           128 bit DDR

Speed:          400.904 MHz

-- AGP info --

Status:         Enabled

Rate:           4X

AGP rates:      1X 2X 4X 

Fast Writes:    Disabled

SBA:            Unsupported
```

ma...

```
7952 frames in 5.0 seconds = 1590.400 FPS
```

 :Evil or Very Mad: 

----------

## STICazzi-DoC

Non penso che le differenze tra la Fx5200 e la vecchia e gloriosa Geffo2 siano dovuti a probs di settaggi ma di bus di memoria. Se non erro la Fx5200 ha il bus a 64bit e poche pipeline di rendering quindi sulle medie-alte risoluzioni è castrata di nascita sulle prestazioni  :Sad:  .

Di piu' nin so...  :Wink: 

Ciauz

----------

## knefas

Riporto su questo 3d solo per segnalare che e' uscito nvclock-0.8beta (con un sacco di nuove features, tra le quali il supporto per la scheda del mio portatile!). E' in portage.  :Smile: 

----------

## ProT-0-TypE

uaaah! figo! non conoscevo nvclock! 

```
-- General info --

Card:           nVidia GeforceFX 5200

PCI id:         0x322

GPU speed:      249.750 MHz

Bustype:        AGP

-- Memory info --

Amount:         128 MB

Type:           128 bit DDR

Speed:          265.500 MHz

```

sapete mica quali sono i valori ottimali per overclockare un po senza rovinare la scheda?

----------

## CarloJekko

Ma la velocità della cpu non la considerate? E poi ho letto in + punti sui vari forum che glxgears è un test assolutamente non affidabile

----------

