• 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
  • 相关阅读:
    委托与事件的关系
    分布式存储ceph——(1)部署ceph
    neutron二
    openstack第五章:cinder
    openstack第六章:dashboard
    openstack第一章:keystone
    openstack第二章:glance
    openstack第三章:nova
    openstack第四章:neutron— 网络服务
    openstack安装
  • 原文地址:https://www.cnblogs.com/hellohuan/p/3867498.html
Copyright © 2020-2023  润新知