Fråga om Triple Buffering

Permalänk
Jubileumsmästare

Fråga om Triple Buffering

Hej! Börja nyss kolla runt lite på Vsync o Triple Buffering. Från vad jag har fattat så är det så här det ligger till.

Vsync off = Tearing
Vsync on = Input lag
Vsync on + TB = No input lag

Och anledningen till att TB eliminerar input lag är för att den inte cappar ens fps till 60 och bara djurar på som vanligt som med utan vsync. Och den kan göra detta genom att använda en tredje buffer. Min fråga är då att om min GPU Usage är 80% utan vsync och 30% med vsync så borde min GPU Usage med TB vara 80% för den cappar inte fpsen? Samt drar mer VRAM. Detta verkar dock inte stämma i verken BF4 eller L4D2. I BF4 så sätter jag på o stänger av TB via consolen med "RenderDevice.TripleBufferingEnable true/false" o i L4D2 så finns det i settings. Sen har jag även försökt att tvinga det med NVIDIAs kontrollpanel och D3DOverrider (DX11). Jag har 2st GTX 670s i SLI och en i7-3770K o jag kör Windows 8 64-bit. Jag har hört att NVIDIAs kontrollpanel bara funkar för OpenGL fast men D3DOverrider så ska det funka på DirectX med men det verkar inte funka. Kanske har fel version för L4D2 o behöver DX9 eller DX10 versionen av D3DOverrider? Dock är det bara rar filen som heter DX11 i slutet och inte .exe då den bara heter namnet på programmet. Här är lite resultat.

Battlefield 4

Vsync off = 200 FPS @ 50% GPU Usage
Vsync on = 60 FPS @ 20% GPU Usage
Vsync on + TB = 60 FPS @ 20% GPU Usage (VRAM Unchanged)

Left 4 Dead 2

Vsync off = 300 FPS @ 40% GPU Usage
Vsync on = 60 FPS @ 10% GPU Usage
Vsync on + TB = 60 FPS @ 10% GPU Usage (VRAM Unchanged)

Så ska det vara så här eller ska det dra lika mycket som med vsync off samt mer VRAM? Och finns det något annat sätt att kolla om TB är igång?

Permalänk

Som jag förstått det så ska det inte påverka GPU Usage, däremot så ska det öka VRAM. Läste även runt och såg om grafikkortet har mer än 1GB VRAM så ger det ytterst lite påverkan på VRAM.

Du kan ju testa att sätta igång TB via drivrutinerna istället och se om det blir någon skillnad på VRAM.

Permalänk
Jubileumsmästare

Saken är väl den att den kör 60 FPS på front buffer (skärmen) och fullt ut på back buffer (gpu)? Och då ska ju GPU Usage gå upp igen för den jobbar för fullt igen? Som jag förstått det så uppstår input lag för att efter skärmen refreshats så tar gpun info från spelet o renderar en bild efter den o visar den vid nästa refresh cycle och då är informationen på bilden 16.67 ms gammal. Och om du slår på TB så visas den senaste fullständigt renderade bilden och den kanske renderades med info för 5 ms sen. Så i en perfekt värld där du har exakt 180 FPS så ska ditt input lag ligga på 16.67/3 ms för att vi har en FPS 3 gånger högre än 60. Men IRL så kommer input lag att vara en variabel p.g.a att fpsen ändras hela tiden. Men har du 180 FPS så ska lagget aldrig vara högre än 16.67/3 ms. Så rangen av lagget då kommer att vara > 0 till 16.67/3 ms.

Utan TB: Refresh, Render, Wait, Wait, Refresh, Render, Wait, Wait... (20% GPU Usage)
Med TB: Refresh, Render, Render, Render, Refresh, Render, Render, Render... (50% GPU Usage)

Detta är vad jag läst: http://www.anandtech.com/show/2794

Och hur sätter jag igång det i drivrutinerna? Är det inte det jag gjorde med NVIDIAs kontrollpanel?

EDIT: Ska sova nu så vaknar väl vid typ 6 eller nått.

Permalänk
Medlem

Jag trodde att triple buffering var generellt bra om man spelade spel som hade ojämn bildfrekvens eller om man hade grafikkort eller drivare som levererade ojämna frekvenser. Det drar lite mer vram, men det är väl inga större mängder precis eller?

Som jag ser det begriper jag inte varför tb skulle minska input lag, snarare öka det en aning.

Hursom, i nvidia kontrollpanelen finns ju en inställning men jag vet inte om den alltid fungerar, men förmodligen. Säkrast är man ju om spelen har en inbyggd switch för det.

Visa signatur

5820k 4,2 GHz @ 1,220 V
6950 XT undervolt

[FAQ: Formatera text i inläggen med BB-kod]
#17675721

Permalänk
Jubileumsmästare

Båda spelen har det inbyggt och jag tvingar det med NVIDIAs kontrollpanel och D3DOverrider. Men det verkar inte funka. O kolla på den länken ja skrev i mitt tidigare inlägg o kolla på sida 3 så kommer det bli klarare.

Permalänk
Medlem

Jag har alltid trott att vsyncad trippelbuffering dubblar delayed jämfört med vanlig vsyncad dubbelbuffering, har dock aldrig riktigt satt mig in i det på djupet men det hade jag i princip bekräftat för mig själv då mer eller mindre alls spel (förr) åkte på en riktig delay med skiten på. Men men, ska läsa på lite mer, vet inte om anandtech räknar in alla variabler men det återstår att se...

Permalänk
Jubileumsmästare

Vad tror du om Anandtech då?