首页 > 其他分享 >Batch、Drawcall和SetPassCall

Batch、Drawcall和SetPassCall

时间:2023-07-13 15:22:40浏览次数:39  
标签:cube SetPassCall Drawcall Batch 合批 batch shader pass setpasscall

转自:DrawCall,Batches,SetPass calls是什么?原理?【匠】 - 知乎 (zhihu.com)

cube使用双passshader:

   cube使用同材质,同shader,不勾选static:完全不合批,batch:基础的2个batch + 6个cube * 2个pass,setpasscall:基础的2个batch + 6个cube * 2个pass

    cube使用同材质,同shader,勾选static:可以合批,batch:基础的2个batch + (6个cube合在一起) 2个pass,setpasscall:基础的2个batch + (6个cube合在一起)2个pass。这里要注意一下,使用透明通道的shader是无法合批的,还是14个batch

 

     cube使用不同材质,同shader,不勾选static:完全不合批,batch:基础的2个batch + 6个cube * 2个pass,setpasscall:基础的2个batch + 6个cube * 2个pass

 

 结论:多passshader的材质可以静态合批(前提是不使用半透明通道),但不能动态和批

合批:batches和setpasscall的数量为:shader中的pass数量 。

不合批:batches和setpasscall的数量为:shader中的pass数量 * 使用这个shader的物体数量。

标签:cube,SetPassCall,Drawcall,Batch,合批,batch,shader,pass,setpasscall
From: https://www.cnblogs.com/mcyushao/p/17550714.html

相关文章

  • sbatch 提交jupyter
    点击查看代码#!/bin/bash#SBATCH-pBatch2#SBATCH-N1#SBATCH-n1#SBATCH-c1#SBATCH--job-name=jupyter#SBATCH--output=jupy.out#SBATCH--error=jupy.err#SBATCH--parsableport=8003ip=`ifconfig|grep-m1inet|awk'{print$2}'`jup......
  • 将onnx的静态batch改为动态batch及修改输入输出层的名称
    目录背景操作修改输入输出层修改输入输出层名称完整代码背景在模型的部署中,为了高效利用硬件算力,常常会需要将多个输入组成一个batch同时输入网络进行推理,这个batch的大小根据系统的负载或者摄像头的路数时刻在变化,因此网络的输入batch是在动态变化的。对于pytorch等框架来说,我......
  • Pytorch | 输入的形状为[seq_len, batch_size, d_model]和 [batch_size, seq_len, d_m
    首先导入依赖的torch包。importtorch我们设:seq_len(序列的最大长度):5batch_size(批量大小):2d_model(每个单词被映射为的向量的维度):10heads(多头注意力机制的头数):5d_k(每个头的特征数):21、输入形状为:[seq_len,batch_size,d_model]input_tensor=torch.randn(5,2,10)inp......
  • TensorFlow10.4 卷积神经网络-batchnorm
    我们发现这个sigmoid函数在小于-4或者大于4的时候他的导数趋近于0。然后我们送进去的input的值在[-100,100]之间,这样很容易引起梯度弥散的现象。所以我们一般情况下使用ReLU函数,但是我们有时候又不得不使用sigmoid函数。这个时候我们在送到下一层的时候我们应该先经过Normalizatio......
  • Mybatis Plus 批量插入方法效率低问题优化方案 BatchExcutor
    1、问题描述项目用的是MybatisPlus框架操作数据库,在使用batchSave批量插入方法的时候发现效率极低,插入2w数据花了6分钟,太恐怖了。看了源码发现,项目的批量插入方法调用的是MybatisPlus的BatchExcutor,用这个本意是将多次更新sql语句集合为一条更新语句,复用同一个sql连接更新数据。......
  • Spring Batch:将数据从Web服务处理到MongoDB
    概观在这篇文章中,我们将介绍如何创建一个使用Web服务数据并将其插入MongoDB数据库的SpringBatch应用程序。要求阅读本文的开发人员必须熟悉SpringBatch(示例)和MongoDB。环境Mongo数据库部署在MLab中。请按照本快速入门中的步骤操作。批处理应用程序部署在Heroku PaaS中。详情  ......
  • SpringBatch从入门到实战(一):简介和环境搭建
    一:简介SpringBatch是一个轻量级的批处理框架,适合处理大批量的数据(如百万级别)。功能就是从一个地方读数据写到另一个地方去。一般都是系统之间不能直接访问同一个数据库,需要通过文件来交换数据。二:从文件中读然后写到数据库这代码谁都会写,那么为什么还要使用框架?try(BufferedReader......
  • 2.6 类神经网路训练不起来怎么办 (五):批次标准化 (Batch Normalization)简介
    1.提出背景  在前文,我们提过\(error\surface\)在不同方向的斜率不一样,因此采用固定的学习率很难将模型\(train\)起来,上节提出了自适应学习率,这里还有一个方法就是直接将e\(rror\surface\)铲平.  或许首先想要提出的是为什么会产生不同方向上斜率相差很大的现象.观察......
  • 第二十九节:批量插入框架[Zack.EFCore.Batch]和EFCore7.x自带的批量删除、更新
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载......
  • batch_norm在强化学习中建议使用的形式
    defbatch_norm(layer,**kwargs):"""Applybatchnormalizationtoanexistinglayer.Thisisaconveniencefunctionmodifyinganexistinglayertoincludebatchnormalization:Itwillstealthelayer'snonlinearityift......