当前位置: 首页 > news >正文

营销导向的企业网站优化网上购物最实惠的网站

营销导向的企业网站优化,网上购物最实惠的网站,php+网站开发+pdf,网站设计公司 国际版权声明 本文为“优梦创客”原创文章#xff0c;您可以自由转载#xff0c;但必须加入完整的版权声明文章内容不得删减、修改、演绎本文视频版本#xff1a;见文末 引言 大家好#xff0c;我是老雷#xff0c;今天我想从GPU硬件原理出发#xff0c;给大家分享在图形渲…版权声明 本文为“优梦创客”原创文章您可以自由转载但必须加入完整的版权声明文章内容不得删减、修改、演绎本文视频版本见文末 引言 大家好我是老雷今天我想从GPU硬件原理出发给大家分享在图形渲染流水线中光栅化步骤的硬件原理从而帮助大家更好的理解图形学的底层原理以及渲染优化的底层逻辑。 好废话不多说我们先来整体看一下渲染流水线以及光栅化在渲染流水线中的位置和作用。 图形渲染流水线 光栅化英文Rasterization是图形渲染流水线中非常重要的一个步骤它位于顶点计算之后像素着色之前目的就是把顶点构成的三角形映射到屏幕的一个个像素点上。 但是在一个游戏场景中光栅化的压力是很大的。 我们知道游戏场景是由很多游戏元素构成例如玩家、怪物、宠物、道具、地形、植被、树木、房子等等这些模型少则几十、几百个三角面多则几千、上万个三角面每个三角面在经过光栅化以后又会被填充到多个屏幕像素上 因此光栅化的开销很大 但是不用怕我们的GPU就是为大规模计算而生的那么GPU是如何做到快速的光栅化计算的呢 这就需要掌握一些GPU底层的知识了。下面我将带着你一步一步揭开光栅化的底层面纱~ GPU架构 先看这幅图这是我们的GPU它由显存和许多计算单元组成。 显存Global Memory主要指的是在GPU主板上的DRAM类似于CPU的内存特点是容量大但是速度慢CPU和GPU都可以访问。 计算单元通常是指SMStream Multiprocessor流多处理器这些SM在不同的显卡上组织方式还不太一样。作为执行计算的单元其内部还有自己的控制模块、寄存器、缓存、指令流水线等部件。 GPC GPU包含若干个GPC它是Graphics Processing Cluster图形处理簇的缩写 不同架构的GPU包含的GPC数量不一样。以Maxwell架构为例它是由4个GPC组成 SM Maxwell的1个GPC有4个SM 不过这不是我们本次分享的重点大家要重点关注的是GPC里连接各个SM计算单元的光栅化引擎Raster Engine。另外连接每个GPC靠的是Crossbar例如某一个GPC计算完的数据需要另外GPC来处理这个分配就是靠的Crossbar。 光栅化跟GPU硬件的关系 再回到我们的问题那么光栅化跟上面的硬件有什么具体关系呢 首先为了平衡光栅化的负载压力Crossbar会根据一定策略将屏幕划分成多个区域块并重新分配给每一个GPC。这是Crossbar为屏幕划分区域块的示意图。 这里GPC接收到分配的区域后就交给光栅化引擎来负责这些三角形像素信息的生成。同时还会处理其他的一些渲染流水线步骤包括三角形裁剪、背面剔除以及Early-Z相关知识可以参考我的TA全栈项目。 GPU架构和渲染管线 接下来光栅化引擎将将Vertex Shader计算后存放在L1和L2缓存里面的数据加载出来 将插值好的数据转交给PolyMorph Engine的Attribute Setup模块 经过插值的数据填充到Pixel Shader的寄存器里供SM的运算核心做像素计算的时候使用 上面提到Crossbar会根据一定策略划分区域块实际上的划分可能比上图更加复杂我们来看一个实验 实验渲染SM_ID 那么问题来了 如果给每个SM分配一个[0,SM_COUNT-1]的WARP_ID 并将每个像素根据SM_ID渲染为不同亮度的红色SM_ID / (SM_COUNT-1) 你认为会得到什么渲染结果呢图中的绿色暂时忽略 这里我们以Geforce1080为例它有20个SM如果我们用不同亮度的红色表示不同的线程ID并且渲染由两个三角形构成的四边形面片就会得到这样的像素块效果。 在这里有几点值得注意 第一图中有20个亮度色阶说明有20个不同编号的SM 第二像素颜色不是连续变化的说明SM的划分并不是按编号顺序简单地依次划分而是由Crossbar重组后被光栅化器调度执行的 第三同一个色块内的像素如果分属不同三角形就会分给不同的SM进行处理。如果三角形越细碎分配SM的次数就会越多调度开销越大。 第四这里一个色块是8×8也就说明一个SM里运行了256个线程束 那么什么是线程束呢 什么是线程束 线程束英文WARP为了和线程数加以区分在容易产生歧义的地方我们统一用英文WARP而不用中文术语线程束 那么光栅化以后的像素是如何被并行计算也就是逐像素渲染的呢 在逻辑上一个线程执行一个Pixel Shader的核心函数也就是一个线程处理一个像素。 GPU将屏幕分成一个一个的2×2的像素块因为逻辑上一个Warp包含了32个线程也就是说一个Warp处理的是8个像素块这就解释了为什么上面我们看到的色块是8*8的。 思考如果渲染WARP_ID… 同理我们再以WARP_ID渲染为例你认为如果将每个像素根据SM_ID渲染为不同亮度的红色会得到什么结果 大家可以思考一下 思考题答案以及代码片段请回复“光栅化”获取 我是优梦创客的老雷一个14年经验的游戏公司主程和引擎架构师同时也是一位爱分享的游戏开发技术UP主 我会保持更新每月不少于2集、每年不少于26小时的干货视频 也欢迎你保持关注以获取我的最新更新 当然我也准备了几百个小时的技术美术教程分享欢迎了解 小结 最后我们对今天的分享做一个小结。今天我们 了解了光栅化在图形渲染流水线中的地位和作用知道了GPU、GPC、SM的关系也知道了SM、Warp、Thread的关系并且通过实践理解了光栅化在GPU中是如何被调度的 进阶 这里还有一些可以进阶学习的知识点在这里列出供同学们参考 GPU如何处理像素运算 在输出到渲染目标前GPU还会做哪些事情 移动平台的GPU跟桌面端有哪些不同 如何针对移动端GPU做优化 CPU和GPU在计算上有什么本质区别 如何编写高效能Shader代码
http://www.hkea.cn/news/14413010/

相关文章:

  • 政务公开网站建设织梦网站怎样做锚文本
  • 龙岗专业做网站做两个阿里网站吗
  • 服务器如何配置php网站深圳找个人做网站
  • 网站做多语言品牌建设成功的案例
  • 百度网站优化指南有名网站建设公司
  • 网站技术说明书模板淘宝联盟如何建设个人网站
  • 小天才电话手表网站wordpress源码解读
  • 自己做的网站 kindle怎么在网上做彩票网站
  • 巴中微网站建设烤肉自助餐网站建设
  • 建设宁夏分行互联网站郑州网站外包公司
  • 网站开发7个基本流程口碑营销的前提及好处有哪些
  • 网站建设实训报告建议软件开发都有哪些
  • 乐清建设公司网站网站图片上传不上去怎么办
  • 做网店有哪些网站徐州网站营销
  • 做国际贸易网站哪家好怎么做网站网站赚钱
  • php网站怎么做静态化wordpress内网访问
  • 县 两学一做网站阿里巴巴网站国际站建设
  • 手机网站建设书籍自建手机网站
  • 企业网站建设公司制作平台网站开发费用说明
  • 网站素材任丘哪里做网站
  • 网站开发选什么职位网上购物哪个平台质量好又便宜
  • 大型网站制作教程免费建网站软件下载
  • wap网站建设方案 pdf微信云开发文档
  • 韶关做网站需要多少钱空白的网站怎么建设
  • 桂林做网站公司word文档素材免费下载
  • org后缀做网站行静态网站 apache
  • wordpress自适应网站博客模板最新建设信用交通网站 省
  • 溧水做网站价格博学云网站建设
  • 了解网站建设网站设计目的与规划怎么写
  • 百度验证网站所有权滨州网站建设hskj360