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那种感觉 闪的单位大一些

  • 相关阅读:
    【LVS 】NAT方式实现过程
    【 LVS 】类型及算法
    [ 总结 ] RHEL6/Centos6 使用OpenLDAP集中管理用户帐号
    [ 手记 ] 关于tomcat开机启动设置问题
    [ 总结 ] nginx 负载均衡 及 缓存
    Mac
    Swift
    Swift
    Cocoapods
    Swift
  • 原文地址:https://www.cnblogs.com/minggoddess/p/6656677.html
Copyright © 2011-2022 走看看