{"video_id":"OqGmTqa6_wA","title":"Faster Graphics That Cost NOTHING","channel":"Techquickie","show":"Techquickie","published_at":"2021-05-05T14:58:16Z","duration_s":403,"segments":[{"start_s":0.24,"end_s":7.279,"text":"so you've finally gotten your hot little hands on a shiny new graphics card for","speaker":null,"is_sponsor":0},{"start_s":4.88,"end_s":12.24,"text":"your pc and you're confident that by pushing it to its limits you'll be able","speaker":null,"is_sponsor":0},{"start_s":9.44,"end_s":15.04,"text":"to run any game at mouth-watering settings","speaker":null,"is_sponsor":0},{"start_s":15.839,"end_s":22.48,"text":"but it turns out there's a long-standing bottleneck that limits how many frames","speaker":null,"is_sponsor":0},{"start_s":20.0,"end_s":28.4,"text":"your GPU can push and we're not talking about your CPU or the pci express slot","speaker":null,"is_sponsor":0},{"start_s":25.76,"end_s":32.239,"text":"it's actually the GPU's pipeline the set of steps that visual data has to go","speaker":null,"is_sponsor":0},{"start_s":30.48,"end_s":35.6,"text":"through in order to become a fully rendered image but how does that","speaker":null,"is_sponsor":0},{"start_s":34.0,"end_s":39.92,"text":"pipeline bottleneck your gaming experience let's find out by learning","speaker":null,"is_sponsor":0},{"start_s":37.84,"end_s":44.64,"text":"how a graphics pipeline works and we'd like to extend our warm thanks to gianlu","speaker":null,"is_sponsor":0},{"start_s":42.48,"end_s":48.8,"text":"senior program manager at microsoft for helping us understand the problem and","speaker":null,"is_sponsor":0},{"start_s":46.8,"end_s":53.039,"text":"the solution that's starting to gain adoption","speaker":null,"is_sponsor":0},{"start_s":51.2,"end_s":56.96,"text":"the first three steps of the pipeline called the geometry pipeline are really","speaker":null,"is_sponsor":0},{"start_s":55.44,"end_s":62.0,"text":"important and actually end up being where the bottleneck is step one is when","speaker":null,"is_sponsor":0},{"start_s":59.68,"end_s":66.479,"text":"the raw visual data basically just numbers plain numbers like mama used to","speaker":null,"is_sponsor":0},{"start_s":64.64,"end_s":70.32,"text":"make them goes through an input assembler which takes the vertices of","speaker":null,"is_sponsor":0},{"start_s":68.32,"end_s":73.84,"text":"the triangles that ultimately make up a finished image and organizes them so","speaker":null,"is_sponsor":0},{"start_s":72.4,"end_s":78.64,"text":"that they're pointing at each other correctly step two takes this organized","speaker":null,"is_sponsor":0},{"start_s":76.56,"end_s":84.159,"text":"set of vertices and puts them through a vertex shader which raises or lowers the","speaker":null,"is_sponsor":0},{"start_s":81.36,"end_s":88.64,"text":"vertices to create a 3d mesh of sorts for example the vertex shader can create","speaker":null,"is_sponsor":0},{"start_s":86.24,"end_s":94.4,"text":"a bumpy texture on a wall or ripples on a pond the third step is a rasterizer","speaker":null,"is_sponsor":0},{"start_s":92.159,"end_s":99.119,"text":"this is the bit that puts pixels inside each triangle to fill out the image now","speaker":null,"is_sponsor":0},{"start_s":96.96,"end_s":103.84,"text":"there are other steps beyond these three namely pixel shading which gives each","speaker":null,"is_sponsor":0},{"start_s":101.68,"end_s":107.439,"text":"pixel the appropriate color and lighting and the output merger which puts","speaker":null,"is_sponsor":0},{"start_s":105.92,"end_s":111.2,"text":"different visual elements together such as ensuring a character standing in","speaker":null,"is_sponsor":0},{"start_s":109.04,"end_s":115.759,"text":"front of a wall is displayed properly so you only see the character and not the","speaker":null,"is_sponsor":0},{"start_s":113.2,"end_s":119.6,"text":"wall behind them however the big bottleneck we're talking about today","speaker":null,"is_sponsor":0},{"start_s":117.36,"end_s":123.52,"text":"involves those first three steps but why are they such a bottleneck i mean the","speaker":null,"is_sponsor":0},{"start_s":121.2,"end_s":127.759,"text":"process seems pretty straightforward well there are a few big reasons for","speaker":null,"is_sponsor":0},{"start_s":125.119,"end_s":132.48,"text":"this one is that that first step the input assembler can only understand data","speaker":null,"is_sponsor":0},{"start_s":129.92,"end_s":136.16,"text":"that's organized in a very specific way typically it can't accept compressed","speaker":null,"is_sponsor":0},{"start_s":134.64,"end_s":139.52,"text":"data that can be moved around more quickly or if a developer thinks of a","speaker":null,"is_sponsor":0},{"start_s":138.239,"end_s":143.44,"text":"more efficient way to organize their data the input assembler simply won't be","speaker":null,"is_sponsor":0},{"start_s":141.52,"end_s":147.92,"text":"able to understand it two there are actually several optional stages after","speaker":null,"is_sponsor":0},{"start_s":145.92,"end_s":152.319,"text":"the vertex shader for example one is called a geometry shader that can take a","speaker":null,"is_sponsor":0},{"start_s":150.239,"end_s":156.48,"text":"point and expand it out to a particular shape such as a strand of hair this is","speaker":null,"is_sponsor":0},{"start_s":155.04,"end_s":160.319,"text":"quicker than drawing a bunch of new triangles but the geometry shader and","speaker":null,"is_sponsor":0},{"start_s":158.72,"end_s":164.72,"text":"other optional steps have been added over the years as games have become more","speaker":null,"is_sponsor":0},{"start_s":162.239,"end_s":169.84,"text":"complex they're essentially glommed onto the pipeline in a rigid sequential way","speaker":null,"is_sponsor":0},{"start_s":167.44,"end_s":174.239,"text":"that can't be processed in parallel meaning they take longer three because","speaker":null,"is_sponsor":0},{"start_s":172.4,"end_s":177.599,"text":"of this rigid sequence you have to wait until you get to the rasterizer to start","speaker":null,"is_sponsor":0},{"start_s":176.56,"end_s":181.76,"text":"culling sounds dangerous or throwing away unused","speaker":null,"is_sponsor":0},{"start_s":180.4,"end_s":186.0,"text":"triangles that are way off in the distance or obscured by an object on the","speaker":null,"is_sponsor":0},{"start_s":183.68,"end_s":189.68,"text":"screen this is a problem because by the time the data has gotten to the","speaker":null,"is_sponsor":0},{"start_s":187.36,"end_s":194.72,"text":"rasterizer phase of the pipeline the GPU has already done a ton of legwork","speaker":null,"is_sponsor":0},{"start_s":191.599,"end_s":196.879,"text":"rendering unnecessary triangles","speaker":null,"is_sponsor":0},{"start_s":194.72,"end_s":201.68,"text":"sounds like my typical wednesday evening so because the geometry pipeline is so","speaker":null,"is_sponsor":0},{"start_s":198.879,"end_s":207.599,"text":"inflexible the solution isn't to retool it it's to replace it completely this is","speaker":null,"is_sponsor":0},{"start_s":205.519,"end_s":211.92,"text":"where mesh shading comes in one of the biggest features in the directx 12","speaker":null,"is_sponsor":0},{"start_s":209.44,"end_s":217.68,"text":"ultimate API instead of having discrete steps before the rasterizer the mesh","speaker":null,"is_sponsor":0},{"start_s":214.64,"end_s":219.36,"text":"shader is one stage that can do a few","speaker":null,"is_sponsor":0},{"start_s":217.68,"end_s":223.28,"text":"really cool things first the data that you feed into it can","speaker":null,"is_sponsor":0},{"start_s":221.28,"end_s":227.28,"text":"be much more arbitrary so it can understand compressed data and other","speaker":null,"is_sponsor":0},{"start_s":225.2,"end_s":232.08,"text":"data sets an old-school input assembler couldn't you can't handle this new data","speaker":null,"is_sponsor":0},{"start_s":229.519,"end_s":235.92,"text":"old man essentially the mesh shader is almost like a mini programmable computer","speaker":null,"is_sponsor":0},{"start_s":234.319,"end_s":239.92,"text":"so if a developer wants to accomplish some rendering task more efficiently","speaker":null,"is_sponsor":0},{"start_s":238.08,"end_s":243.68,"text":"they can just code it in each of the processes above can also intelligently","speaker":null,"is_sponsor":0},{"start_s":242.159,"end_s":248.0,"text":"communicate with each other within a mesh shader so instead of waiting to","speaker":null,"is_sponsor":0},{"start_s":245.599,"end_s":251.439,"text":"cull triangles so late in the process it can be done earlier and the geometry can","speaker":null,"is_sponsor":0},{"start_s":250.08,"end_s":257.12,"text":"even be arranged in a way to make culling easier demanding even less GPU","speaker":null,"is_sponsor":0},{"start_s":254.72,"end_s":260.799,"text":"power oh and we haven't even talked about the whole reason it's called mesh","speaker":null,"is_sponsor":0},{"start_s":258.72,"end_s":263.36,"text":"shading in the first place it's a really fun term","speaker":null,"is_sponsor":0},{"start_s":262.079,"end_s":267.759,"text":"meshlets instead of working on one triangle at","speaker":null,"is_sponsor":0},{"start_s":265.12,"end_s":272.32,"text":"once your GPU can instead work on meshes of multiple triangles in parallel so","speaker":null,"is_sponsor":0},{"start_s":270.88,"end_s":276.72,"text":"instead of making a decision about calling one triangle your GPU can","speaker":null,"is_sponsor":0},{"start_s":274.56,"end_s":281.52,"text":"instead do them in batches throwing out data it doesn't need to process and","speaker":null,"is_sponsor":0},{"start_s":278.479,"end_s":283.68,"text":"saving precious resources older vertex","speaker":null,"is_sponsor":0},{"start_s":281.52,"end_s":288.16,"text":"shaders only saw a soup of points instead of an actual mesh but mesh","speaker":null,"is_sponsor":0},{"start_s":285.919,"end_s":291.6,"text":"shaders are much smarter and they can know exactly what they're working with","speaker":null,"is_sponsor":0},{"start_s":289.6,"end_s":295.84,"text":"much earlier in the rendering process so what does all of this mean","speaker":null,"is_sponsor":0},{"start_s":294.16,"end_s":299.6,"text":"well because your GPU doesn't have to work as hard for each frame it means","speaker":null,"is_sponsor":0},{"start_s":297.68,"end_s":303.44,"text":"faster frame rates and more detailed environments ultimately the things we","speaker":null,"is_sponsor":0},{"start_s":301.52,"end_s":306.56,"text":"all want from our graphics cards currently many game developers are","speaker":null,"is_sponsor":0},{"start_s":304.88,"end_s":310.639,"text":"looking at the best ways to implement mesh shading into their titles because","speaker":null,"is_sponsor":0},{"start_s":308.32,"end_s":314.56,"text":"it's such a customizable tool and the old geometry pipeline has been around","speaker":null,"is_sponsor":0},{"start_s":312.32,"end_s":318.24,"text":"for such a long time it might take a few years before we see widespread adoption","speaker":null,"is_sponsor":0},{"start_s":316.4,"end_s":321.68,"text":"of mesh shading in popular games the good news though is that there's already","speaker":null,"is_sponsor":0},{"start_s":320.0,"end_s":325.52,"text":"hardware support for it with newer consumer graphics cards so by the time","speaker":null,"is_sponsor":0},{"start_s":323.6,"end_s":330.0,"text":"we see these games on the market chances are we'll all have next-gen graphics","speaker":null,"is_sponsor":0},{"start_s":327.759,"end_s":332.88,"text":"cards that support these new features every one of us","speaker":null,"is_sponsor":0},{"start_s":333.28,"end_s":338.96,"text":"yes i can't wait","speaker":null,"is_sponsor":0},{"start_s":337.12,"end_s":343.68,"text":"i can't wait for you to check out our sponsor freshbooks they're an invoicing","speaker":null,"is_sponsor":1},{"start_s":342.08,"end_s":348.32,"text":"and accounting solution that's built for owners and their clients they state that","speaker":null,"is_sponsor":1},{"start_s":345.759,"end_s":354.08,"text":"the average user saves 46 hours a month gets paid 18 days faster and increases","speaker":null,"is_sponsor":1},{"start_s":350.96,"end_s":355.6,"text":"their roi by 11 times using freshbooks","speaker":null,"is_sponsor":1},{"start_s":354.08,"end_s":358.72,"text":"freshbooks is a huge benefit for freelancers and small business owners","speaker":null,"is_sponsor":1},{"start_s":357.36,"end_s":362.639,"text":"who don't have time to waste on invoicing accounting and payment","speaker":null,"is_sponsor":1},{"start_s":360.4,"end_s":366.88,"text":"processing over 3000 business owners have rated freshbooks an average of four","speaker":null,"is_sponsor":1},{"start_s":364.56,"end_s":370.319,"text":"and a half out of five stars on get app and it's super easy to get up and","speaker":null,"is_sponsor":1},{"start_s":368.16,"end_s":374.639,"text":"running with award-winning support so you'll never be alone try freshbooks","speaker":null,"is_sponsor":1},{"start_s":372.56,"end_s":379.28,"text":"free for 30 days no credit card required go to freshbooks.com techwiki and enter","speaker":null,"is_sponsor":1},{"start_s":377.52,"end_s":384.16,"text":"techwiki in the how did you hear about us section makes sense well guys that's","speaker":null,"is_sponsor":1},{"start_s":382.4,"end_s":388.16,"text":"a tech wiki video not sure if you've ever seen one before but that's","speaker":null,"is_sponsor":0},{"start_s":386.24,"end_s":390.8,"text":"that's what it's like hey speaking of like you want to like the video if you","speaker":null,"is_sponsor":0},{"start_s":389.44,"end_s":395.68,"text":"liked it hey do you have a like do you have a like to give out","speaker":null,"is_sponsor":0},{"start_s":393.039,"end_s":398.319,"text":"please we love your likes also check out our other videos comment","speaker":null,"is_sponsor":0},{"start_s":397.12,"end_s":404.0,"text":"below with video suggestions and don't forget to subscribe and follow Techquickie","speaker":null,"is_sponsor":0},{"start_s":401.28,"end_s":404.0,"text":"love you","speaker":null,"is_sponsor":0}],"full_text":"so you've finally gotten your hot little hands on a shiny new graphics card for your pc and you're confident that by pushing it to its limits you'll be able to run any game at mouth-watering settings but it turns out there's a long-standing bottleneck that limits how many frames your GPU can push and we're not talking about your CPU or the pci express slot it's actually the GPU's pipeline the set of steps that visual data has to go through in order to become a fully rendered image but how does that pipeline bottleneck your gaming experience let's find out by learning how a graphics pipeline works and we'd like to extend our warm thanks to gianlu senior program manager at microsoft for helping us understand the problem and the solution that's starting to gain adoption the first three steps of the pipeline called the geometry pipeline are really important and actually end up being where the bottleneck is step one is when the raw visual data basically just numbers plain numbers like mama used to make them goes through an input assembler which takes the vertices of the triangles that ultimately make up a finished image and organizes them so that they're pointing at each other correctly step two takes this organized set of vertices and puts them through a vertex shader which raises or lowers the vertices to create a 3d mesh of sorts for example the vertex shader can create a bumpy texture on a wall or ripples on a pond the third step is a rasterizer this is the bit that puts pixels inside each triangle to fill out the image now there are other steps beyond these three namely pixel shading which gives each pixel the appropriate color and lighting and the output merger which puts different visual elements together such as ensuring a character standing in front of a wall is displayed properly so you only see the character and not the wall behind them however the big bottleneck we're talking about today involves those first three steps but why are they such a bottleneck i mean the process seems pretty straightforward well there are a few big reasons for this one is that that first step the input assembler can only understand data that's organized in a very specific way typically it can't accept compressed data that can be moved around more quickly or if a developer thinks of a more efficient way to organize their data the input assembler simply won't be able to understand it two there are actually several optional stages after the vertex shader for example one is called a geometry shader that can take a point and expand it out to a particular shape such as a strand of hair this is quicker than drawing a bunch of new triangles but the geometry shader and other optional steps have been added over the years as games have become more complex they're essentially glommed onto the pipeline in a rigid sequential way that can't be processed in parallel meaning they take longer three because of this rigid sequence you have to wait until you get to the rasterizer to start culling sounds dangerous or throwing away unused triangles that are way off in the distance or obscured by an object on the screen this is a problem because by the time the data has gotten to the rasterizer phase of the pipeline the GPU has already done a ton of legwork rendering unnecessary triangles sounds like my typical wednesday evening so because the geometry pipeline is so inflexible the solution isn't to retool it it's to replace it completely this is where mesh shading comes in one of the biggest features in the directx 12 ultimate API instead of having discrete steps before the rasterizer the mesh shader is one stage that can do a few really cool things first the data that you feed into it can be much more arbitrary so it can understand compressed data and other data sets an old-school input assembler couldn't you can't handle this new data old man essentially the mesh shader is almost like a mini programmable computer so if a developer wants to accomplish some rendering task more efficiently they can just code it in each of the processes above can also intelligently communicate with each other within a mesh shader so instead of waiting to cull triangles so late in the process it can be done earlier and the geometry can even be arranged in a way to make culling easier demanding even less GPU power oh and we haven't even talked about the whole reason it's called mesh shading in the first place it's a really fun term meshlets instead of working on one triangle at once your GPU can instead work on meshes of multiple triangles in parallel so instead of making a decision about calling one triangle your GPU can instead do them in batches throwing out data it doesn't need to process and saving precious resources older vertex shaders only saw a soup of points instead of an actual mesh but mesh shaders are much smarter and they can know exactly what they're working with much earlier in the rendering process so what does all of this mean well because your GPU doesn't have to work as hard for each frame it means faster frame rates and more detailed environments ultimately the things we all want from our graphics cards currently many game developers are looking at the best ways to implement mesh shading into their titles because it's such a customizable tool and the old geometry pipeline has been around for such a long time it might take a few years before we see widespread adoption of mesh shading in popular games the good news though is that there's already hardware support for it with newer consumer graphics cards so by the time we see these games on the market chances are we'll all have next-gen graphics cards that support these new features every one of us yes i can't wait i can't wait for you to check out our sponsor freshbooks they're an invoicing and accounting solution that's built for owners and their clients they state that the average user saves 46 hours a month gets paid 18 days faster and increases their roi by 11 times using freshbooks freshbooks is a huge benefit for freelancers and small business owners who don't have time to waste on invoicing accounting and payment processing over 3000 business owners have rated freshbooks an average of four and a half out of five stars on get app and it's super easy to get up and running with award-winning support so you'll never be alone try freshbooks free for 30 days no credit card required go to freshbooks.com techwiki and enter techwiki in the how did you hear about us section makes sense well guys that's a tech wiki video not sure if you've ever seen one before but that's that's what it's like hey speaking of like you want to like the video if you liked it hey do you have a like do you have a like to give out please we love your likes also check out our other videos comment below with video suggestions and don't forget to subscribe and follow Techquickie love you"}