DrawCall_draw a drawing

DrawCall_draw a drawing关于unity优化,DrawCall肯定占了比较重要的一部分,下面我们就简单了解一下什么是Drawcall。什么是DrawCall?在电脑运行层面理解:rawcall是CPU对底层图形绘制接口的调用命令GPU执行渲染操作,渲染流程采用流水线实现,CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。这里drawcall影响绘制的原因主要是因为每次绘制时,CPU都需要调用drawcall而每个drawcall都需要很多准备工作,检测渲染状态、提交

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

关于unity优化,DrawCall肯定占了比较重要的一部分,下面我们就简单了解一下什么是Drawcall。

什么是DrawCall?

在电脑运行层面理解:Drawcall是CPU对底层图形绘制接口的调用命令GPU执行渲染操作,渲染流程采用流水线实现,CPU和GPU并行工作,它们之间通过命令缓冲区连接,CPU向其中发送渲染命令,GPU接收并执行对应的渲染命令。
这里drawcall影响绘制的原因主要是因为每次绘制时,CPU都需要调用drawcall而每个drawcall都需要很多准备工作,检测渲染状态、提交渲染数据、提交渲染状态。而GPU本身具有很强大的计算能力,可以很快就处理完渲染任务
在unity运行层面:,每次CPU准备数据并通知GPU的过程就称之为一个DrawCall。
具体过程就是:设置颜色–>绘图方式–>顶点坐标–>绘制–>结束,所以在绘制过程中,如果能在一次DrawCall完成所有绘制就会大大提高运行效率,进而达到优化的目的。

DrawCall过多会怎样?

如果Draw Call的数量太多,CPU就会把大量时间花费在提交Draw Call 上,造成CPU的过载。

如何减少DrawCall?

核心思想:还是运用批处理的方法吧,尽量把小的DrawCall合并到一个大的DrawCall中
(1)避免使用大量很小的网格。当不可避免的需要使用很小的网格结构时,考虑是否可以合并它们。

(2)避免使用过多的材质。尽量在不同的网格之间共用同一个材质。
(3)合并本身有消耗,因此尽量在编辑器下进行合并。

总结

用了很长时间的drawcall也没有仔细分析过,今天又听到了有人聊关于drawcall的知识借此巩固一下,自己懒得码字观看借用了很多关于两位大神关于drawcall的分析,这里附上原文链接:
原文链接:https://blog.csdn.net/yu1368072332/article/details/85676537
原文链接:https://blog.csdn.net/srk19960903/article/details/73457321

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/191937.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文件锁的使用浅析_文件加密软件

    文件锁的使用浅析_文件加密软件概述在多数unix系统中,当多个进程/线程同时编辑一个文件时,该文件的最后状态取决于最后一个写该文件的进程。对于有些应用程序,如数据库,各个进程需要保证它正在单独地写一个文件。这时就要用到文件锁。文件锁(也叫记录锁)的作用是,当一个进程读写文件的某部分时,其他进程就无法修改同一文件区域。能够实现文件锁的函数主要有2个:flock和fcntl。早期的伯克利版本只支持flock,该…

    2022年4月19日
    61
  • 500-内部服务器错误_显示内部服务器错误怎么办

    500-内部服务器错误_显示内部服务器错误怎么办其他相关HTTP500内部服务器错误”解决方法-苦涩的茶-博客园HTTP500内部服务器错误的提示,无法法查看错误的详细信息,用户也没办法根据具体的问题来解决,这对很多新用户确实是一件很麻烦的事情,遇来源:www.mingqicha.comHTTP500内部服务器错误”提示该怎么办-百度经验HTTP500内部服务器错误”的情况,当我们遇到了,怎么解决,学下:出现“HTTP500内部服务器错…

    2022年8月11日
    3
  • Java xml数据格式返回实现

    Java xml数据格式返回实现前言:对于服务器后端开发,实现的大部分接口,返回的数据格式一般要求都是json,但是也有使用xml格式的网上有多种实现方式,这里使用注解的方式把java类使用@RequestBody实现Java对象和XML/JSON数据自动转换很多人会认为接口方法使用@Controller搭配@ResponseBody和@RequestMapping注解后,java对象会转换成json格式返回。但实际上配…

    2022年7月20日
    17
  • LARS(最小角回归)

    LARS(最小角回归)优缺点LARS是一个适用于高维数据的回归算法。优点: 特别适合于特征维度n远高于样本数m的情况。 算法的最坏计算复杂度和最小二乘法类似,但是其计算速度几乎和前向选择算法一样 可以产生分段线性结果的完整路径,这在模型的交叉验证中极为有用 缺点:由于LARS的迭代方向是根据目标的残差而定,所以该算法对样本的噪声极为敏感。…

    2022年4月20日
    36
  • linux .zip文件 解压缩命令的简单使用

    linux .zip文件 解压缩命令的简单使用windows系统下常见的压缩格式有.zip.rarlinux系统下常见的压缩格式有.zip.gz.bz2.tar.gz.tar.bz2下面我来简单的介绍一下linux系统下zip压缩命令的使用方法.zip压缩命令的使用方法.zip的使用方法非常的简单使用zip命令即可压缩文件格式为zip压缩文件名源文件如图mywork

    2022年5月2日
    45
  • 《剑指offer》– 序列化二叉树、二叉搜索树的第k个节点、数据流中的中位数、滑动窗口的最大值

    《剑指offer》– 序列化二叉树、二叉搜索树的第k个节点、数据流中的中位数、滑动窗口的最大值

    2021年10月3日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号