maskinvaruacceleration, vad gör det?

Permalänk
Medlem

maskinvaruacceleration, vad gör det?

Jag har märkt att jag ofta i spel har ljudbuggar där vissa delar av ljudet försvinner. Tex så kan jag stå och slå in i en vägg men bara ibland så hör jag ljudet av att jag träffar väggen. Men om jag sänker ner maskinvaruaccelerationen för ljudet så fungerar ljudet fint. Så nu undrar jag vad maskinvaruacceleration egentligen gör? Är det något negativt med att dra ner det till normal acceleration, sämre ljudkvalitet?

Permalänk
Medlem

Det man vanligtvis tänker på är hårdvarumixning. Om jag får lov att förenkla lite och börja ifrån början; När du spelar så hör du flera ljud samtidigt. Eftersom du bara har ett begränsat antal fysiska ljudkanaler (typ två för stereo) så måste ljuden "mixas", dvs slås ihop innan de spelas upp. Detta kan ske på två sätt; Mjukvarumässigt eller Hårdvarumässigt. Det senare är en del av "hårdvaruacceleration".

Vid hårdvarumixning så har ljudkortet flera "virtuella" ljudkanaler som mjukvaran skickar ljudet till, hårdvaran mixar sedan dessa signaler och skickar ut dem på de fysiska ljudkanalerna (vänster, höger, etc). Fördelen med detta är att det går snabbt och avlastar CPUn. Nackdelen är att antalet virtuella ljudkanaler är begränsat (pga bussbandbredd t.ex), så ljudkortet kan inte mixa hur många ljud som helst. Om det bara klarar sexton samtidiga ljud, så vad händer då om du bankar i en vägg och spelet behöver spela upp ett sjuttonde? Finns flera alternativ, varav ett är att ditt nya ljud ignoreras (kan t.ex anses ha låg prioritet -- dock vill man vanligtvis ge användargenererade ljud hög prioritet), eller så måste ett ljud som redan ligger och mixas ersättas av ditt nya. Här kommer drivrutiner och ljud-APIs in och kan försöka styra upp så att det låter så bra som möjligt även om fler ljud spelas än hårdvarumixern klarar. Här finns det utrymme för buggar.

Mjukvarumixning har inte detta problem, där kan du mixa "oändligt" många olika ljud -- upp till så många som CPUn klarar av att "addera" ihop då.

HTH.

Visa signatur

Digital Equipment 386SX/16MHz | 640KB+4MB minne | 40MB HDD | MS-DOS 6.22/Slackware 7

Permalänk
Medlem

Okej tack för svaret. Så om jag sänker/stänger av maskinvaruacceleration så belastar det då cpun mera? Om jag försår rätt så kan det också bero endel på drivrutiner? Jag uppdaterade nyligen directx, kan det ha något med saken att göra?

Permalänk
Medlem

Stänga av accelerationen kommer sannolikt att leda till högre CPU-last, ja. Det kan även innebära att du förlorar vissa effekter (EAX-grunk och motsvarande).

Som vanligt med ljud så är det absolut bästa att gå efter den egna upplevelsen. Om du inte märker någon (negativ) skillnad i kvalitet eller FPS efter att ha slagit av accelerationen, så är det ju bara att vara lycklig med det. Om du någon gång uppgraderar ljuddrivrutinerna så kan det vara värt att kolla om problemet lösts för dig.

Ang. DirectX så är det mesta möjligt i datorernas underbara värld, men det skulle inte vara min första gissning.

Visa signatur

Digital Equipment 386SX/16MHz | 640KB+4MB minne | 40MB HDD | MS-DOS 6.22/Slackware 7

Permalänk
Medlem

Jag har spelat lite Condemned och försökt höra lite mer noga vad som händer med ljudet. Det verkar som att det börjar bugga först efter ett tag, cirka 10 min.Det verkar ungefär som att det inte kan spelas upp nog många ljud samtidigt, om jag t.ex springer så försvinner bakgrundsljud, i strider så hör jag bara ljudet av när jag svingar vapnet inte när jag träffar motståndaren. Men det funkar alltså bra i början. Jag har alla ljudinställningar i spelet på max, har testat med eax av och på men ingen skillnad.

Någon som har en ide på vad jag kan testa för att lösa det här utan att sänka accelerationen? Jag tycker att det borde finnas en lösning eftersom att det fungerar i början.