Genomströmningsdämpare på halvautomater: Varför Venti Front inte behöver gasjustering
13 min read
Kort svar:Stalon Ventiljuddämpare är genomströmningsdämpare. Den ventilerar gas framåt istället för att fånga den, vilket skapar kontrollerat mottryck och fungerar på en gasdriven halvautomat utan justering av gassystemet. Kort sagt, det är plug-and-play: montera den och skjut. Med en konventionell ljuddämpare skulle du behöva justera gastrycket för att använda den på en halvautomat; med Venti behöver du inte det. Utkastningsvinkeln kan förskjutas något, men det som verkligen spelar roll är att hylsorna landar på samma ställe och inte sprids.
ÖKAR EN LJUDDÄMPARE KAMMARTRYCKET?
Nej. Toppkammartrycket bestäms av patronen och laddningen, och det når sin topp medan kulan fortfarande är i pipan — långt innan gasen ens når mynningen. Eftersom en ljuddämpare är en mynningsanordning kan den inte höja den toppen. Vad den istället ändrar är tryckimpulsen: den håller trycket förhöjt något längre, vilket förlänger ”gasens uppehållstid”. Som ett resultat blir toppen inte högre; kurvan blir helt enkelt längre. Den längre impulsen är med andra ord vad folk egentligen beskriver när de säger ”mottryck”.
VARFÖR KONVENTIONELLA LJUDDÄMPARE BEHÖVER GASJUSTERING PÅ EN HALVAUTOMAT
En konventionell ljuddämpare fångar gas i en förseglad baffelstack. Följaktligen spikar det mottrycket och tvingar in extra gas i mekanismen, vilket överladdar en halvautomat: mer rekylgas mot skytten, en hårdare omladdning och mer nedsmutsning. Eftersom en sådan ljuddämpare inte är byggd för halvautomater måste du justera gassystemet för att den ska fungera korrekt — till exempel med ett justerbart gasblock, en tyngre buffert eller en mindre gasport för att få omladdningen under kontroll igen.
VAD EN GENOMSTRÖMNINGSDESIGN GÖR ANNORLUNDA
En genomströmningsdesign, däremot, leder gasen framåt genom interna kanaler istället för att fånga den, vilket håller mottrycket kontrollerat och rekylgasen låg. Faktum är att genomströmningsdämpare rapporteras ge en mjukare omladdning, mindre rekylgas och bättre tillförlitlighet. Det är precis vad Venti Front är: enligt Stalons termer, kontrollerat mottryck med minskad rekylgas mot pipan och operativsystemet. Det är därför den är montera-och-skjut, utan några justeringar.
How each design handles gas — and how much back pressure it feeds into a gas-operated semi-auto’s action. Tap to switch.
Propellant gasBack pressure → action
Back pressure into actionHigh
Gas blowback to shooterHigh
(function(){
var cv=document.getElementById(’cv’), ctx=cv.getContext(’2d’);
var W=700,H=340,dpr=1,g={},mode=’conv’,parts=[];
var GOLD=’#caa53d’, DIM=’#9a9a9a’, MFILL=’#f2f2f2′, MSTROKE=’#c9c9c9′, LAB=’#5a5a5a’, BORE=’rgba(0,0,0,0.15)’;
var P={ conv:{backFrac:0.52,fwd:1.1,rate:3,bp:0.85,gb:0.80}, flow:{backFrac:0.12,fwd:2.3,rate:3,bp:0.34,gb:0.22} };
function geom(){
g.actionX=12; g.actionW=Math.max(66,W*0.13); g.actionH=Math.min(112,H*0.34);
g.cy=H*0.52; g.barrelX=g.actionX+g.actionW;
g.muzzleX=Math.max(W*0.40,g.barrelX+56); g.suppEndX=W-16;
g.suppHalf=Math.min(54,H*0.20); g.barrelHalf=13; g.nBaffle=6;
}
function resize(){
dpr=Math.min(window.devicePixelRatio||1,2);
var r=cv.getBoundingClientRect();
W=Math.max(320,r.width||700); H=r.height||340;
cv.width=Math.round(W*dpr); cv.height=Math.round(H*dpr);
ctx.setTransform(dpr,0,0,dpr,0,0); geom();
}
function rr(x,y,w,h,r,fill,stroke){
ctx.beginPath(); ctx.moveTo(x+r,y);
ctx.arcTo(x+w,y,x+w,y+h,r); ctx.arcTo(x+w,y+h,x,y+h,r);
ctx.arcTo(x,y+h,x,y,r); ctx.arcTo(x,y,x+w,y,r); ctx.closePath();
if(fill){ctx.fillStyle=fill;ctx.fill();}
if(stroke){ctx.strokeStyle=stroke;ctx.lineWidth=1.5;ctx.stroke();}
}
function label(t,x,y,c){ctx.fillStyle=c;ctx.font=’700 11px ”Titillium Web”,sans-serif’;ctx.textAlign=’center’;ctx.fillText(t,x,y);}
function arrow(x1,y1,x2,y2,c,w){
ctx.strokeStyle=c;ctx.fillStyle=c;ctx.lineWidth=w;
ctx.beginPath();ctx.moveTo(x1,y1);ctx.lineTo(x2,y2);ctx.stroke();
var a=Math.atan2(y2-y1,x2-x1),s=5+w;
ctx.beginPath();ctx.moveTo(x2,y2);
ctx.lineTo(x2-s*Math.cos(a-0.4),y2-s*Math.sin(a-0.4));
ctx.lineTo(x2-s*Math.cos(a+0.4),y2-s*Math.sin(a+0.4));
ctx.closePath();ctx.fill();
}
function spawn(){
var p=P[mode],i;
for(i=0;i<p.rate;i++){ var back=Math.random()
240) parts.splice(0,parts.length-240);
}
function step(){
for(var k=0;k<parts.length;k++){
var p=parts[k];
if(p.type==='fwd'){
p.x+=p.vx; p.y+=p.vy; var lim=g.suppHalf-10;
if(p.yg.cy+lim){p.y=g.cy+lim;p.vy*=-1;}
if(p.x>g.suppEndX-2){p.a-=0.06;} if(p.ag.muzzleX+(g.suppEndX-g.muzzleX)*0.33)p.phase=1;
} else { p.x-=p.bs; p.y+=(g.cy-p.y)*0.15;
if(p.x<g.actionX+g.actionW*0.55)p.a-=0.08; if(p.a=0;j–) if(parts[j].dead) parts.splice(j,1);
}
function schematic(){
rr(g.barrelX-2,g.cy-g.barrelHalf,g.muzzleX-g.barrelX+4,g.barrelHalf*2,4,MFILL,MSTROKE);
rr(g.muzzleX,g.cy-g.suppHalf,g.suppEndX-g.muzzleX,g.suppHalf*2,11,MFILL,MSTROKE);
ctx.strokeStyle=BORE;ctx.setLineDash([5,5]);ctx.lineWidth=1;
ctx.beginPath();ctx.moveTo(g.actionX,g.cy);ctx.lineTo(g.suppEndX,g.cy);ctx.stroke();ctx.setLineDash([]);
rr(g.actionX,g.cy-g.actionH/2,g.actionW,g.actionH,6,’#eaeaea’,MSTROKE);
label(’ACTION’,g.actionX+g.actionW/2,g.cy-g.actionH/2-7,LAB);
var x0=g.muzzleX+16,x1=g.suppEndX-16,i,x;
if(mode===’conv’){
for(i=0;i<g.nBaffle;i++){ x=x0+(x1-x0)*(i/(g.nBaffle-1));
ctx.strokeStyle='#b7b7b7';ctx.lineWidth=3;ctx.beginPath();
ctx.moveTo(x-9,g.cy-g.suppHalf+8);ctx.lineTo(x,g.cy-6);
ctx.moveTo(x-9,g.cy+g.suppHalf-8);ctx.lineTo(x,g.cy+6);ctx.stroke(); }
label('SUPPRESSOR — SEALED BAFFLES',(g.muzzleX+g.suppEndX)/2,g.cy-g.suppHalf-8,LAB);
} else {
for(i=0;i<5;i++){ x=x0+(x1-x0)*(i/4);
ctx.strokeStyle=GOLD;ctx.lineWidth=3;ctx.beginPath();
ctx.moveTo(x-8,g.cy-g.suppHalf+10);ctx.lineTo(x+6,g.cy);ctx.lineTo(x-8,g.cy+g.suppHalf-10);ctx.stroke(); }
label('SUPPRESSOR — FLOW-THROUGH CHANNELS',(g.muzzleX+g.suppEndX)/2,g.cy-g.suppHalf-8,'#8a7226');
}
}
function arrows(){
var p=P[mode],col=mode==='conv'?DIM:GOLD,ax=g.barrelX-6;
arrow(ax,g.cy,ax-40*p.bp-12,g.cy,col,2+3*p.bp);
label(mode==='conv'?'BACK PRESSURE':'CONTROLLED',g.barrelX+34,g.cy-g.barrelHalf-9,mode==='conv'?LAB:'#8a7226');
arrow(g.suppEndX-6,g.cy,g.suppEndX+(mode==='flow'?26:9),g.cy,GOLD,mode==='flow'?4:2);
}
function draw(){
ctx.clearRect(0,0,W,H); schematic();
for(var k=0;k<parts.length;k++){ var p=parts[k];
ctx.globalAlpha=Math.max(0,Math.min(1,p.a));
ctx.fillStyle=p.type==='back'?DIM:GOLD;
ctx.beginPath();ctx.arc(p.x,p.y,p.r,0,7);ctx.fill(); }
ctx.globalAlpha=1; arrows();
}
function frame(){spawn();step();draw();requestAnimationFrame(frame);}
function setMode(m){
mode=m;parts.length=0;
document.getElementById('btnConv').classList.toggle('active',m==='conv');
document.getElementById('btnFlow').classList.toggle('active',m==='flow');
var p=P[m],c=m==='conv'?DIM:GOLD;
var bp=document.getElementById('bpBar'),gb=document.getElementById('gbBar');
bp.style.width=(p.bp*100)+'%';bp.style.background=c;
gb.style.width=(p.gb*100)+'%';gb.style.background=c;
document.getElementById('bpVal').textContent=m==='conv'?'High':'Controlled';
document.getElementById('gbVal').textContent=m==='conv'?'High':'Low';
document.getElementById('cap').innerHTML=m==='conv'
? 'Conventional: a sealed baffle stack traps the gas. Back pressure spikes and much of it is driven back through the bore into the action — over-gassing the semi-auto. That is the blowback and harsh reload you have to tune out with an adjustable gas block.’
: ’Venti flow-through: gas is routed forward through internal channels and vented out the front. Back pressure stays controlled and blowback is kept off the action, so the rifle typically reloads more consistently — plug-and-play, no gas tuning.’;
}
document.getElementById(’btnConv’).addEventListener(’click’,function(){setMode(’conv’);});
document.getElementById(’btnFlow’).addEventListener(’click’,function(){setMode(’flow’);});
window.addEventListener(’resize’,resize);
if(window.ResizeObserver){ new ResizeObserver(resize).observe(cv); }
resize(); setMode(’conv’); requestAnimationFrame(frame);
})();
VARFÖR ÄNDRAS UTKASTNINGSVINKELN MED EN LJUDDÄMPARE – OCH SPELAR DET NÅGON ROLL?
Två saker påverkar det: lite mer gas i systemet, och minskad rekyl, eftersom en ljuddämpare sänker rekylen så att geväret rör sig mindre under de millisekunder hylsan kastas ut. En liten framåtförskjutning är därför normal och inget fel.
Med det sagt är vinkeln egentligen inte poängen — konsistens är det. När hylsor landar på samma snäva plats, skott efter skott, betyder det att mekanismen laddar om på samma sätt varje gång. Omvänt betyder spridd mässing en omladdning som varierar från skott till skott, vilket på en halvautomat vanligtvis pekar på ett överladdat system. Eftersom Venti håller mottrycket kontrollerat, förblir omladdningen typiskt sett mer konsekvent — och därmed även utkastningen.
Top-down view. Press Fire and watch the ejection pattern build up. The exact angle isn’t the point — consistency is.
(function(){
var cv=document.getElementById(’cv2’), ctx=cv.getContext(’2d’);
var W=700,H=360,dpr=1,O={x:0,y:0},R=0,mode=’venti’;
var flying=[],marks=[],autoT=null;
var D={venti:{th:78,sd:5,d:0.60,dsd:0.045},conv:{a:32,b:120,dmin:0.32,dmax:0.92}};
var LINE=’#e3e3e3′, MUTED=’#7a7a7a’, GOLD=’#caa53d’, DIM=’#9a9a9a’, INK=’#333333′, BLACK=’#000000′;
function resize(){
dpr=Math.min(window.devicePixelRatio||1,2);
var r=cv.getBoundingClientRect();
W=Math.max(320,r.width||700); H=r.height||360;
cv.width=Math.round(W*dpr); cv.height=Math.round(H*dpr);
ctx.setTransform(dpr,0,0,dpr,0,0);
O.x=W*0.44; O.y=H*0.60; R=Math.min(W,H)*0.42;
}
function gauss(){return (Math.random()+Math.random()+Math.random()-1.5)/1.5;}
function land(){
var th,d;
if(mode===’venti’){th=D.venti.th+gauss()*D.venti.sd; d=R*(D.venti.d+gauss()*D.venti.dsd);}
else{th=D.conv.a+Math.random()*(D.conv.b-D.conv.a); d=R*(D.conv.dmin+Math.random()*(D.conv.dmax-D.conv.dmin));}
var rad=th*Math.PI/180;
return {x:O.x+Math.sin(rad)*d,y:O.y-Math.cos(rad)*d};
}
function fire(n){
n=n||6;
for(var i=0;i<n;i++){
var lp=land();
flying.push({sx:O.x+16,sy:O.y-6,lp:lp,t:0,dur:24+Math.random()*10,rot:Math.random()*6,rs:(Math.random()-0.5)*0.7});
}
}
function tick(){
for(var i=0;i=1){ marks.push({x:f.lp.x,y:f.lp.y,a:1}); f.done=true; }
}
for(var j=flying.length-1;j>=0;j–) if(flying[j].done) flying.splice(j,1);
if(marks.length>70) marks.splice(0,marks.length-70);
for(var k=0;k44 && k<marks.length-44) marks[k].a-=0.02; }
}
function clockRing(){
ctx.strokeStyle=LINE; ctx.lineWidth=1.5;
ctx.beginPath(); ctx.arc(O.x,O.y,R,0,7); ctx.stroke();
var lab=[['12',0],['3',90],['6',180],['9',270]],i;
ctx.fillStyle=MUTED; ctx.font='11px "Titillium Web",sans-serif'; ctx.textAlign='center'; ctx.textBaseline='middle';
for(i=0;i<lab.length;i++){
var rad=lab[i][1]*Math.PI/180;
var x=O.x+Math.sin(rad)*(R+12), y=O.y-Math.cos(rad)*(R+12);
ctx.fillText(lab[i][0],x,y);
}
ctx.textBaseline='alphabetic';
}
function rifle(){
var mx=O.x, my=O.y-R*0.55, sx=O.x, sy=O.y+R*0.30;
ctx.strokeStyle='#5a5a5a'; ctx.lineWidth=6; ctx.lineCap='round';
ctx.beginPath(); ctx.moveTo(sx,sy); ctx.lineTo(mx,my); ctx.stroke(); ctx.lineCap='butt';
ctx.fillStyle='#7a7a7a'; ctx.beginPath(); ctx.arc(sx,sy+6,7,0,7); ctx.fill();
ctx.fillStyle=BLACK; ctx.beginPath(); ctx.arc(O.x,O.y,4,0,7); ctx.fill();
ctx.fillStyle=MUTED; ctx.font='10px "Titillium Web",sans-serif'; ctx.textAlign='left';
ctx.fillText('ejection port',O.x+8,O.y-8);
}
function spreadInfo(){
if(marks.length<3) return null;
var mx=0,my=0,i;
for(i=0;i<marks.length;i++){mx+=marks[i].x;my+=marks[i].y;}
mx/=marks.length; my/=marks.length;
var s=0;
for(i=0;i<marks.length;i++){var dx=marks[i].x-mx,dy=marks[i].y-my;s+=Math.sqrt(dx*dx+dy*dy);}
s/=marks.length;
return {mx:mx,my:my,s:s};
}
function draw(){
ctx.clearRect(0,0,W,H);
clockRing();
var sp=spreadInfo();
if(sp){
ctx.setLineDash([6,5]); ctx.lineWidth=1.5;
ctx.strokeStyle=(sp.s<R*0.12)?'rgba(202,165,61,.85)':'rgba(120,120,120,.7)';
ctx.beginPath(); ctx.arc(sp.mx,sp.my,Math.max(14,sp.s*1.4),0,7); ctx.stroke();
ctx.setLineDash([]);
}
rifle();
var i;
for(i=0;i<marks.length;i++){
var m=marks[i]; ctx.globalAlpha=Math.max(0,m.a);
ctx.fillStyle='#c9962b'; ctx.beginPath(); ctx.arc(m.x,m.y,3.2,0,7); ctx.fill();
ctx.strokeStyle='rgba(120,90,20,.4)'; ctx.lineWidth=.6; ctx.stroke();
}
ctx.globalAlpha=1;
for(i=0;i<flying.length;i++){
var f=flying[i], u=f.t/f.dur;
var x=f.sx+(f.lp.x-f.sx)*u, y=f.sy+(f.lp.y-f.sy)*u – Math.sin(Math.PI*u)*18;
f.rot+=f.rs;
ctx.save(); ctx.translate(x,y); ctx.rotate(f.rot);
ctx.fillStyle='#e2b23a'; ctx.fillRect(-4,-2.2,8,4.4);
ctx.strokeStyle='#a17a1e'; ctx.lineWidth=.7; ctx.strokeRect(-4,-2.2,8,4.4);
ctx.restore();
}
if(sp){
var tight=sp.s<R*0.12;
var el=document.getElementById('read');
el.textContent=tight?'Spread: tight':'Spread: scattered';
el.style.color=tight?'#8a7226':'#8a4a2a';
} else { document.getElementById('read').textContent=''; }
requestAnimationFrame(draw);
}
setInterval(tick,16);
function setMode(m){
mode=m; marks.length=0; flying.length=0;
document.getElementById('btnV').classList.toggle('active',m==='venti');
document.getElementById('btnC').classList.toggle('active',m==='conv');
document.getElementById('cap').innerHTML=m==='venti'
? 'Venti (controlled): controlled back pressure typically means the action reloads more consistently shot to shot, so the brass tends to land in a tighter, more repeatable cluster. It may sit slightly forward of straight-out — that is fine. What matters is that it is consistent.’
: ’Conventional, untuned: an over-gassed, unregulated system tends to reload a little differently from shot to shot, which can lead to brass scattering more widely. Same rifle, same ammo — the difference is gas management.’;
fire(6);
}
document.getElementById(’fire’).addEventListener(’click’,function(){fire(6);});
document.getElementById(’clear’).addEventListener(’click’,function(){marks.length=0;flying.length=0;});
document.getElementById(’auto’).addEventListener(’click’,function(){
var b=this;
if(autoT){clearInterval(autoT);autoT=null;b.classList.remove(’on’);b.textContent=’Auto’;}
else{autoT=setInterval(function(){fire(3);},550);b.classList.add(’on’);b.textContent=’Auto: on’;}
});
document.getElementById(’btnV’).addEventListener(’click’,function(){setMode(’venti’);});
document.getElementById(’btnC’).addEventListener(’click’,function(){setMode(’conv’);});
window.addEventListener(’resize’,resize);
if(window.ResizeObserver){ new ResizeObserver(resize).observe(cv); }
resize(); setMode(’venti’); requestAnimationFrame(draw);
})();
MINSKAR STALON VENTI REKYLEN?
Ja. Liksom alla ljuddämpare minskar den upplevd rekyl med cirka 50 % — genom att lägga till massa vid mynningen och genom att sprida gasutsläppet över tid, ungefär som en mynningsbroms.
Raka svar om mottryck, gasjustering och utkastning när du använder en genomströmningsdämpare på en gasdriven halvautomat.
Behöver jag ett justerbart gasblock för att använda Venti Front?
Nej. Venti Front är en genomströmningsdämpare, byggd för att fungera på en gasdriven halvautomat som den är — plug-and-play. Eftersom den håller mottrycket kontrollerat behöver du inte justera gassystemet.
Måste man justera gastrycket med en konventionell ljuddämpare?
Ja. En ljuddämpare som inte är byggd för halvautomater fångar gas och höjer mottrycket, vilket överladdar mekanismen. För att den ska fungera korrekt måste du justera gassystemet — ett justerbart gasblock, en tyngre buffert eller en mindre gasport.
Ökar en ljuddämpare kammartrycket?
Nej. Toppkammartrycket bestäms av patronen och laddningen, och det når sin topp medan kulan fortfarande är i pipan — innan gasen når mynningen. En ljuddämpare kan inte höja det. Vad som ändras är tryckimpulsen: trycket förblir förhöjt lite längre. Toppen blir inte högre; kurvan blir längre. Den längre impulsen är vad folk kallar ”mottryck”.
Vad är en genomströmningsdämpare?
En genomströmningsdämpare leder gas framåt genom interna kanaler istället för att fånga den i en förseglad baffelstack. Det håller mottrycket kontrollerat och rekylgasen låg, vilket typiskt ger en mjukare omladdning, mindre gas i skyttens ansikte och bättre tillförlitlighet på halvautomater.
Varför ändras utkastningsvinkeln när jag använder en ljuddämpare?
Två saker påverkar det: lite mer gas i systemet, och minskad rekyl (geväret rör sig mindre medan hylsan kastas ut). En liten framåtförskjutning är normal och inget fel. Vinkeln i sig är inte det som spelar roll — konsistens är det. Mässing som landar på samma snäva plats skott efter skott betyder att mekanismen laddar om på samma sätt varje gång.
Är en framåt utkastningsvinkel ett problem?
Inte i sig. Titta efter konsistens, inte den exakta klockpositionen. Snävt och repeterbart är bra; spridd mässing pekar typiskt på ett gassystem som är överladdat eller på annat sätt varierar skott efter skott.
Minskar Venti Front rekylen?
Ja. Liksom alla ljuddämpare minskar den upplevd rekyl — genom att lägga till massa vid mynningen och sprida gasutsläppet över tid, ungefär som en mynningsbroms.
{
”@context”: ”https://schema.org”,
”@type”: ”FAQPage”,
”mainEntity”: [
{ ”@type”: ”Question”, ”name”: ”Do I need an adjustable gas block to run the Venti front?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”No. The Venti front is a flow-through suppressor, built to run on a gas-operated semi-auto as it is – plug-and-play. Because it keeps back pressure controlled, you don’t need to retune the gas system.” } },
{ ”@type”: ”Question”, ”name”: ”Do you have to adjust the gas pressure with a conventional suppressor?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”Yes. A suppressor not built for semi-autos traps gas and raises back pressure, which over-gasses the action. To run it properly you have to adjust the gas system – an adjustable gas block, a heavier buffer, or a smaller gas port.” } },
{ ”@type”: ”Question”, ”name”: ”Does a suppressor increase chamber pressure?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”No. Peak chamber pressure is set by the cartridge and load, and it peaks while the bullet is still in the barrel – before the gas reaches the muzzle. A suppressor can’t raise it. What changes is the pressure impulse: pressure stays elevated a little longer. The peak doesn’t get taller; the curve gets longer. That longer impulse is what people call back pressure.” } },
{ ”@type”: ”Question”, ”name”: ”What is a flow-through suppressor?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”A flow-through suppressor routes gas forward through internal channels instead of trapping it in a sealed baffle stack. That keeps back pressure controlled and blowback low, which typically gives a smoother reload, less gas in the shooter’s face, and better reliability on semi-autos.” } },
{ ”@type”: ”Question”, ”name”: ”Why does the ejection angle change when I run a suppressor?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”Two things nudge it: a little more gas in the system, and reduced recoil (the rifle moves less while the case is ejecting). A slight forward shift is normal and not a fault. The angle itself isn’t what matters – consistency is. Brass landing in the same tight spot shot after shot means the action is reloading the same way every time.” } },
{ ”@type”: ”Question”, ”name”: ”Is a forward ejection angle a problem?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”Not by itself. Watch for consistency, not the exact clock position. Tight and repeatable is good; scattered brass typically points to a gas system that’s over-gassed or otherwise varying shot to shot.” } },
{ ”@type”: ”Question”, ”name”: ”Does the Venti front reduce recoil?”, ”acceptedAnswer”: { ”@type”: ”Answer”, ”text”: ”Yes. Like any suppressor, it reduces felt recoil – by adding mass at the muzzle and spreading the gas release out over time, much like a muzzle brake.” } }
]
}
(function(){
var items = document.querySelectorAll(’.faq-item’);
items.forEach(function(el){
el.addEventListener(’toggle’, function(){
if(el.open){
items.forEach(function(other){
if(other !== el) other.removeAttribute(’open’);
});
}
});
});
})();