zoukankan      html  css  js  c++  java
  • queued frame 造成图形性能卡顿

    曾经遇到过卡顿是类似的原因:当时对显卡底层知识理解不懂,看到引擎底层有一个MaxFramexxx的接口,实现是使用注册表修改显卡底层的注册信息,当时还是一个掉接口习惯的客户端码农的思维,没理解底层含义却不小心改成了30。于是游戏就开始每隔一会儿就卡一下了。
    调试过程中使用了伟大的CPU卡顿PROFILE工具、GPU工具PERFHUD等,依然未果。最后在老大的睿智下发现了这个问题,于是对这个点儿牢记于心了。
     
    queued frame
    这个一般都是限制gpu不会落后cpu(render thread)超过一帧,但是这里看来似乎并不是最好的策略,如果可以的话落后个多达3帧的话,可以对gpu时间不稳定的情况有更好的容错。
    也就是会更平滑。很多靠手感的游戏都可以尝试如此修改。
    但是副作用也是比较明显的,比如occlusion query就会晚好多帧。
     
    翻过DX的文档,frame落后是有api的:
    IDirect3DDevice9Ex::SetMaximumFrameLatency
    IDXGIDevice1:: SetMaximumFrameLatency
  • 相关阅读:
    DTS和AC3的区别
    bind出现 file does not end with newline错误
    删除桌面菜单多余项
    you have requested a nonexistent service "grid"
    php 常用函数
    Jquery
    Twig 的Filters学习
    Twig 的 tags学习(中文) 之三 完结
    PHP 正则表达式
    SQL处理字符串
  • 原文地址:https://www.cnblogs.com/hellohuan/p/3867498.html
Copyright © 2011-2022 走看看