zoukankan      html  css  js  c++  java
  • barrier and Fence

    barrier 管理的是commandbuffer里面 command之间

    fence管理的是queue之间 queue和cpu之间的顺序

    通过flag比如等待所有面片画完

    ---------------

    这个项目做完,终于明白barrier和fence的使用了

    barrier api就是一个addbarrier()

    比如在做rtt的时候 第一张作为srt的rt画完之后 加个addbarrier()之后gpu在使用这张srv的时候 就会根据flag等

    通常是等画完了再用,具体flag看文档,ue4里面是全部加的

    fence可以做cpu gpu之间的同步。Api有两步:

    1. 找个合适的地方加fence

    2.wait 通过flag

    例子,CPU命令提交之后加个fence

    之后 CPU wait GPU执行完全部命令 就可以把CPU这边的cmd 清了重新使用了

     这里可以做cpu gpu并行。循环两次一wait

    barrier没加导致的错误的样子:面片边缘大块闪,对角线位置(因为是三角全屏面片) 没画完就被拿来用了,有点像ps4sampleself那种感觉 闪的单位大一些

  • 相关阅读:
    JAVA-基础-接口
    JAVA-基础-抽象类
    JAVA-基础-多态
    JAVA-基础-继承
    JAVA-基础-封装
    JAVA-基础-面向对象
    JAVA-基础-ArrayList集合
    CenOS 6.5下 mysql自动备份
    Cenos 6.5上的subverion的yum配置笔记
    [CF628D]Magic Numbers 题解
  • 原文地址:https://www.cnblogs.com/minggoddess/p/6656677.html
Copyright © 2011-2022 走看看