PDA

View Full Version : [TEST] Latime de banda PCI-Express



eXpander
27-04-2009, 23:49
Doamnelor si domnilor, buna seara!

Acum 2 zile, co-forumistul si prietenul nostru, poparamiro, a publicat pe forum articolul acesta (http://forum.crazypc.ro/showthread.php?t=10996) in care testa influenta pe care o are latimea de banda a interfetei PCI-Express asupra performantelor placilor video. Mai exact, influenta pe care o are folosirea placilor in configuratie SLI pe sloturi PCI-E x16 sau PCI-E x8. Concluzia a fost simpla: influenta conexiunii PCI-E x16 sau x8 este extrem de mica, diferentele sunt foarte mici, si sesizabile doar in benchmark-uri, in jocuri ne-contand aproape deloc.

Acest articol vine in completarea celui publicat de Ramiro, folosind o singura placa video mai slaba (GTX 260), si testand si in mod x4.

Am inceput cateva teste deoarece aveam o vaga senzatie ca diferentele sunt asa de mici placilor video extrem de puternice (2buc GTX295, Quad-SLI), si vroiam sa vad cum se comporta o placa video mai slaba. Asa ca, inarmat cu un pix, o foaie, un calculator, un internet si o portie de determinare, am inceput sa ma documentez si sa fac niste calcule. Doream sa aflu de ce este nevoie pentru a se atinge limita fizica a interfetei PCI-E.

Asa am aflat ca fiecare lane al interfetei PCI-Express Generation 2.0 poate transporta 500 MB/s. Deci, in cazul folosirii interfetei PCI-E x16, avem o latime de banda maxima de 8000MB/s, in cazul x8 avem 4000MB/s etc. Ei, dupa cateva calcule, am mai facut niste calcule, urmate de alte calcule... Patru ore mai tarziu... am ajuns la cateva rezultate. Mai exact, am aflat pentru un GTX 260:
- latimea totala de banda a memoriei video;
- latimea de banda necesara doar pentru afisarea unui cadru
- numarul maxim teoretic de cadre care pot fi afisate de catre placa video, pana in momentul in care latimea de banda nu mai este suficienta.

Dupa aceea mi-am dat seama ca am ratat complet tinta si ca de fapt asta n-are nici o legatura cu interfata PCI-Express, ci cu bus-ul intern al placii video. Pentru a afla momentul in care ramanem fara banda pe bus-ul PCI-E, avem nevoie sa stim cantitatea de date care se transporta prin bus in fiecare secunda. Ei, din pacate, n-am gasit absolut nimic care sa-mi ofere aceasta informatie.
Asa ca m-am hotarat sa trec la testarea placii video in practica.

1. Principiul de functionare:

M-am gandit ca cel mai bine ar fi sa limitez efectiv placa sa ruleze in modurile care doream sa le testez: x16, x8, x4 si x1. Dupa aceea mi-am dat seama ca pe placa de baza am doar un slot x16 si unul x8. Cum ramanea cu testele in x4 si x1? Mi-am adus aminte ca acum vreo 2 ani citisem un articol similar de la Tom’s Hardware, in care limitasera modul de functionare al bus-ului PCI-E prin izolarea pinilor care dicteaza latimea de banda prin acoperirea acestora cu banda izolatoare. Acest lucru este posibil datorita constructiei „modulare” a interfetei. Asa ca am facut rost de o diagrama a pinilor (atasata in acest post) si m-am apucat sa-i izolez.

Mod x8:

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/x8.jpg

Mod x4:

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/x4.jpg

Din pacate, in mod x1 placa nu a functionat, deci nu am postat si aceste rezultate. Sistemul a boot-at corect, dar nu afisa deloc imaginea. Si sunt sigur ca am acoperit pinii care trebuiau, deci tind sa cred ca e o limitare a placii mele.

2. Sistemul de test.

Sistemul de test este sistemul pe care-mi desfasor activitatea in mod normal, si este compus din:
Hardware:
CPU: Intel Core2Duo E6750 @ 3.2GHz
Placa de baza: Gigabyte EP45-UD3P Rev. 1.0, BIOS F9a
Memorie: 2 x 1GB Crucial Ballistix Tracer @ 1066MHz, CL5-5-5-15 (stock)
Placa video: Gigabyte GTX 260 OC @ 576 / 999 / 1242 (stock)
Sursa: Gigabyte Superb 550W
HDD: Seagate 200GB S-ATA II
Monitor: CRT Compaq V75, max 1280x1024 @ 60Hz

Software:
Sistem de operare: Windows XP Professional SP2 x86
Driver video: Forceware 182.50
3DMark2001 SE Build 3.3.0
3DMark06 Professional Edition 1.1.0
FurMark Build 1.6.5.
Far Cry 2 Benchmark Tool V. 1.0.2.0
Crysis Build 5767
CPU-Z 1.50
GPU-Z 0.3.3

3. Metoda de testare:

Am folosit procesorul cu un minim de overclock la 3.2GHz (totul pus pe Auto, din lene :D), desi stiu ca functioneaza fara probleme la 3.6GHz, si cu mici probleme la 3.73GHz (bsod cam la 2 ore – n-am avut timp/chef sa-l bibilesc) pentru ca am profilurile salvate in BIOS si au fost testate si ras-testate. Din pacate sistemul de operare cam face figuri si nu vrea mai sus de 3.2GHz. Se duse naibii la ultima instalare fresh cand am pus driverii de chipset (cu ocazia concursului de la Lab501.ro pt HD4870 X2) si mi-a fost prea lene sa-l reinstalez. O sa fac asta pe viitor.
Placa video si memoria RAM au ramas la setarile indicate de producator.
Pentru ca nu am vrut sa o intind prea mult, am ales doar 5 teste: trei sintetice si doua jocuri. Am selectat aceste doua jocuri deoarece sunt cele mai pretentioase si solicitante dintre toate jocurile care le-am avut la dispozitie.
Testele in 3Dmark2001SE s-au efectual la setarile standard, 1024x768x32bit. Pentru toate celelalte teste, rezolutia a fost de 1280 x 1024 x 32bit. Setarile in driver au fost default, la fel si in cazul testelor sintetice. In cazul celor doua jocuri, s-au utilizat profilele predefinite: „High” in Crysis si „Ultra High” in Far Cry 2. Din pacate Crysis nu permite setarea profilului „Ultra High” decat in Vista.
S-a testat atat cu Antialiasing 8x, cat si fara AA. Pentru aceasta, s-a apelat la optiunea existenta in aplicatii, deci nu s-a fortat din driver.

Dupa cum o sa vedeti, in unele screenshot-uri din 3Dmark01 si 06 lipsesc instantele de CPU-Z. Am uitat sa le pun o data, dupa care nu le-am mai pus deloc, deoarece setarile de procesor si memorie au ramas aceleasi pe toata durata testelor. Pentru FurMark, Crysis si Far Cry 2 nu am mai facut screenshot-uri deoarece am considerat a fi inutil.

4. Rezultate si interpretarea lor:

Incepem cu jocurile.

Crysis CPU Benchmark

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-CrysisCPU.jpg

Dupa cum se vede, diferenta dintre x16 si x8 este infima, putand fi la fel de bine neglijata. Practic se incadreaza in marja de eroare experimentala. Testul l-am repetat de 3 ori, si de fiecare data am obtinut acelasi rezultat.
In momentul activarii AA, in mod x4 rata fps-urilor scade sub pragul de 30fps, fapt care cauzeaza neplaceri resimtite puternic in experienta de joc.

Crysis GPU Benchmark

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-CrysisGPU.jpg

Situatia este identica cu testul de CPU.

Per ansamblu, experienta de joc pare identica in toate 3 cazurile, atat fara AA cat si cu AA 8x. Doar ca in cazul AA 8x, framerate-ul minim cade sub pragul jucabil de 30fps.
Totusi, o scadere a performantelor de peste 40% in cazul folosirii AA e destul de suparatoare. Partea buna e ca jocul arata excelent si fara AA, la detalii mari, astfel ca e indicat sa nu-l folosim in cazul unei configuratii mai mediocre.

Far Cry 2

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-FarCry.jpg

Fara AA, se vede o diferenta relativ semnificativa intre cele 3 setari testate. In momentul activarii AA 8x, framerate-ul scade simtitor, si diferenta intre cele 3 setari este mult mai mica. Aceasta in schimb poate fi privita ca o problema a placii video sau a driverului, nu neaparat a limitarii latimii de banda. Totusi, jocul arata destul de urat fara AA, asa ca un minim de 2x, sau chiar 4x este indicat, fara pierderi semnificative de performanta.

Continuam cu testele sintetice:

3DMark2001 SE

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-3DMark2001SE.jpg

Da, rezultatele sunt foarte confuze. Am testat de mai multe ori fara AA in x16 si x8, cu restart dupa fiecare test.Cu toate acestea, am obtinut aceleasi rezultate.
In cazul PCI-E x8 cu AA 8x activat, de 3 ori am obtinut acelasi rezultat, mai slab ca in PCI-E x4. Inca nu am o explicatie sigura pentru situatia asta, cu toate ca banuiesc lipsa optimizarii driverilor.

3DMark2006

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-3DMark2006.jpg

Aici rezultatul este asteptat, o scadere constanta intre modurile x16, x8 si x4. Desi scaderea este relativ nesemnificativa.

FurMark

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/Graph-FurMark.jpg

FurMark l-am pus mai mult din curiozitate personala. Dupa cum se vede si din rezultate, chiar nu-i pasa de latimea de banda.

5. Concluzii.

Singura concluzie care pot sa o fac acum e ca latimea de banda oferita de catre interfata PCI-Express este arhisuficienta pentru sistemele existente la ora aceasta pe piata. Nu pot spune sigur daca GPU-ul sau CPU-ul sau memoria RAM trage in spate performanta totala a sistemului. Singurul lucru care-l pot spune cu certitudine e ca memoria RAM a placii video este mult mai rapida decat memoria sistemului, si ca latimea de banda oferita de aceasta este enorm de mare comparativ cu latimea de banda a memoriei RAM (de exemplu, latimea totala de banda in cazul unei placi video GTX 260 este de 111888 MB/s). Dar aceste lucruri le stiati deja.

Asa ca eu va multumesc pentru atentia cu care ati citit acest prim review al meu, si sper ca pe viitor sa revin cu alte review-uri si mai interesante.

Toate cele bune,
Dudu.

poparamiro
27-04-2009, 23:59
Foarte bine domnule , un test mai bun si mai complet decit al meu, great work :yes: (si eu am citit articolul ala de pe Toms cind au acoperit/izolat pinii cu banda)

Monstru
28-04-2009, 00:09
Foarte frumos domnule, cred ca in felul asta ai raspuns intrebarilor pe care si le pun multi in cap. Alaturi de testul lui Ramiro, cred ca ne putem mandri cu o antologie completa legata de PCI-Express.

eXpander
28-04-2009, 03:57
Multumesc domnilor pentru apreciere!

Intr-adevar, acest articol a fost gandit din start ca si o completare la articolul lui Ramiro (nicidecum o incercare de a face un review mai bun :P). Initial intentionasem sa postez un reply in thread, dar cand am vazut cat de mult se intinde articolul, am decis sa creez un thread nou.

Desi stiam ca o sa obtin rezultate similare, am fost destul de uimit sa vad diferente asa de mici, mai ales in Crysis, care ingenuncheaza extrem de multe sisteme mainstream. O reducere de 75% a latimii de banda sa se traduca in doar 10% scadere de performanta...

Totusi, mai exista un singur lucru de testat, pentru a avea o imagine completa asupra PCI-E: diferenta dintre PCI-E Gen 1.0 si Gen 2.0, mai ales in mod x8 si x4. Diferenta de latime de banda per lane dintre cele doua standarde e semnificativa (250MB/s la Gen 1.0, fata de 500MB/s la Gen2.0).

Din pacate, nu prea am posibilitatea sa testez asta. Poate reusesc s-o conving pe sora-mea sa-mi imprumute P35-DS3-ul ei, desi sunt slabe sansele; si chiar daca reusesc, probabil ca o sa ma coste mai mult decat daca m-as duce sa-mi cumpar placa din magazin :)

Sper ca are cineva 2 placi de baza la indemana, si suficient timp si chef sa le testeze ;)

Dragos Saraolu
28-04-2009, 05:55
Intradevar amandoi userii merita sincere felicitari, si-au pus niste probleme, le-au testat si mai ales le-au facut publice pentru ceilalti.

DeDeRa
28-04-2009, 05:58
Gata cu miturile conform carora 8x e pe jumatate din performanta lui 16x.
Mai trebuie demontat mitul ca PCI-E 1.0 este mult, mult mai slab ca 2.0.

Felicitari!

ps: Interesant ce diferente mici sunt intre 4x si 16x. De ex. doar 600p in marci06!

Dragos Saraolu
28-04-2009, 06:10
Ar fi fost utile si niste grafice cu FPS-urile in benchmarkul din Far Cry 2 de exemplu, undeva trebuie sa apara niste limitari si nu sunt reflectate de FPS-ul mediu obtinut.

eXpander
28-04-2009, 12:17
Am atasat si sshot-urile din Far Cry 2:

x4 - 0xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x4-0xAA-4188fps.jpg

x4 - 8xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x4-8xAA-2881.jpg

x8 - 0xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x8-0xAA-4582fps.jpg

x8 - 8xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x8-8xAA-3033fps.jpg


x16 - 0xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x16-0xAA-4749fps.jpg

x16 - 8xAA

http://i133.photobucket.com/albums/q80/expanderxl/PCI-E/FarCry2x16-8xAA-3102fps.jpg

Dupa cum se vede, average fps scade, dar pentru ca scade si maximul. Minimul ramane relativ constant, de aici si diferenta mica la average fps.

Dragos Saraolu
28-04-2009, 14:32
Intradevar diferentele sunt minime, merci pentru promptitudine.

Vivio
29-04-2009, 09:50
Processor: Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
Operating System: Microsoft Windows XP, 32-bit (Service Pack 3)
DirectX version: 9.0c
GPU processor: GeForce GTX 260
Driver version: 182.08
Stream processors: 216
Core clock: 576 MHz
Shader clock: 1242 MHz
Memory clock: 1000 MHz (2000 MHz data rate)
Bus: PCI Express x16

Crysis benchmark TOOL 1.05

1280x1024 HIGH CPU test (Time of day 9)
NO AA 48,53
AA 8X 42,21

1280x1024 HIGH GPU test (Time of day 9)
NO AA 52,95
AA 8X 47,31


Am testat doar 16x, căci sunt reticent la banda izolir pusă pe contacte :D
Platformele noastre nu sunt chiar asemănătoare, dar E8400 e la 3GHz, memoriile sunt puse la 800 CL4. Placa video am adus-o la valorile default.

Ori nu am testat exact cu ce ai făcut tu, ori ... chiar nu ştiu :insane:

La AA 8X văd rezultate mult mai mari ca ale tale şi mă īntreb de ce.

Felicitări pentru teste :love:

eXpander
29-04-2009, 20:38
Hehehe! Mersi mult!

Banda izolatoare nu are nici o problema, nu dauneaza cu nimic placii video. Doar ca izoleaza pinii sa nu mai faca contact, iar rezultatul e acelasi cu introducerea placii intr-un slot x8 sau x4. "After effects" nu cred ca o sa fie, pt ca n-are nici un motiv. Ideea e ca, dupa ce scoti banda izolatoare, sa cureti contactele, pt ca ramane adeziv de pe banda. Aici putin spray de contact face minuni ;)
O mica observatie: trebuia sa apas putin mai tare placa ca sa intre in slot, datorita grosimii adaugate de banda. La scoatere, aceeasi problema. Minora, dupa parerea mea :D

Ca si side-effects, am observat doua:
- in x8 sau x4, dura mai mult sa-mi booteze sistemul. In mod normal dureaza cam 5 secunde de cand apas butonul pana-mi apare prima imagine pe ecran (boot sequence). Ei, in cazul izolarii pinilor, perioada de asteptare s-a prelungit undeva catre 30-40 secunde.
- Cand am folosit x1, imaginea nu aparea deloc pe ecran, desi sistemul a pornit corect si a intrat in Windows. Insa dupa ce am revenit pe x16, sistemul mi s-a restartat de mai multe ori la intervale scurte de 4-5 secunde, fara sa booteze. Pana la urma l-am scos din priza, l-am lasat vreo 10sec si si-a revenit :)



La NO AA văd rezultate mult mai mari ca ale tale şi mă īntreb de ce.


Nu am inteles exact la ce te referi.

Inca o data multumesc pt felicitari!

Cheerios!

Vivio
30-04-2009, 08:24
Scuze am editat mesajul: la Crysis dacă am AA setat pe 8X (placa video īn slot 16x) văd că am cu cel puţin 10 FPS mai mult, ceea ce mi se pare ciudat. M-aş fi aşteptat la mai puţine FPS.

Ai dreptate că poţi folosi un spray de contacte, dar sunt reticent. Există posibilitatea să rămānă ceva bandă īn slotul PCIx

eXpander
30-04-2009, 10:39
Pai diferentele pot veni din setarile de driveri sau chiar din variantele diferite de driver (tu ziceai ca ai 182.08, eu am 182.05). Tu ai rezultate mai bune cu AA 8x, eu am rezultate mai bune fara AA.

Cat despre posibilitatea ca banda sa ramana in slot... cam greu. Pentru ca:
1. E destul de rezistenta la rupere/perforare (eu am folosit FootMark)
2. O lipesti in forma de "U" (nu doua bucati separate pe cele doua laturi - oricum e mai lata, si a trebuit sa mai tai putin din ea) iar capetele ajung deasupra soclului. Deci nu are de ce sa se agate cand scoti placa. Si chiar daca are, nu se rupe, si o tragi pur si simplu afara ;)

darco_2
05-05-2009, 13:52
din cate imi amintesc de acel articol de pe tomshardware de atunci, diferente ceva mai mari au inceput sa se vada pe la x4 iar 8 si 16 latimea de banda fiind suficienta pt. placile video din acea perioada. Ramiro, cum sta diferenta la o GTX 295 dintre 4x si 8x? Cred ca ar fii ceva mai mare, procentual, decat la o gtx 260

13:30
05-05-2009, 16:10
Eu cred ca depinde foarte mult de placa video si rezolutia utilizata. Sunt convins ca un 8800GT 256MB DDR3 testat la >=1680*1050 in combinatie cu 2*2GB DDR3 1600MHz ar arata diferente mult mai mari intre 4x, 8x si 16x. Mi se pare normal sa nu existe diferente majore atata timp cat memoria video utilizata in timpul testelor nu depaseste memoria placii video iar asta se intampla la rezolutii mici. Sper sa nu supar pe nimeni daca spun ca testele ar trebui reluate si la rezolutii mai mari si sa se monitorizeze fps-urile si memoria video utilizata cu utilitare gen RivaTuner sau VidMemWatch.

poparamiro
05-05-2009, 16:38
din cate imi amintesc de acel articol de pe tomshardware de atunci, diferente ceva mai mari au inceput sa se vada pe la x4 iar 8 si 16 latimea de banda fiind suficienta pt. placile video din acea perioada. Ramiro, cum sta diferenta la o GTX 295 dintre 4x si 8x? Cred ca ar fii ceva mai mare, procentual, decat la o gtx 260

Nu am testat x4 (oricum nu cred ca monteaza nimeni gtx 295 in slot x4), este posibil ca impactul sa fie mai mare ca in cazul gtx 260.

eXpander
05-05-2009, 17:28
@darco_2: Cam asa ceva e. Ei au testat la 1680x1050 si diferentele mari au fost de la x4 in jos. Eu din pacate nu am putut testa in x1.

@ 13:30: Da, ma gandeam si eu ca ar trebui rulate testele si la rezolutii mai mari. Din pacate nu dispuneam de un monitor mai mare. Cat despre suparat, stai linistit, de aceea suntem pe forum.

Dupa parerea mea, testul optim ar fi cu un GTX285 la rezoltuie de 1680x1050 sau 1920x1200.
GTX295 sau HD4870x2 sunt placi foarte puternice, si pana la rezolutia de 2560x1600 cam "someaza" (la rezolutii mici proceseaza informatiile mult mai repede decat poate sistemul sa le furnizeze).
Iar GTX260 si HD4870/4850 sunt placi mainstream si la rezolutii mai mari de 1680x1050 se misca foarte greu. Chiar si pe Nehalem, cu 6G RAM se misca relativ greu la setari maxime de calitate. Si nu raman fara memorie, ci raman fara putere de procesare.

Pierderea de performanta in x8 si x4 e destul de mica, pentru ca se transfera relativ putina informatie prin slotul PCIe, fata de memoria placii video. Iar bus-ul memoriei VGA este ridicol de rapid, si nu este influentat de PCIe, deoarece controller-ul de memorie se afla pe placa si comunica cu GPU, nu cu restul sistemului.

Avand in vedere ca atat eu cat si poparamiro am ajuns la aceeasi concluzie si aprox. la aceleasi diferente procentuale, cred ca putem spune fara prea multe riscuri ca situatia va fi aceeasi, indiferent de placa testata si de rezolutia la care se testeaza.