首页 > 编程语言 >在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数

在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数

时间:2022-09-26 00:45:15浏览次数:67  
标签:游戏 实时 画面 算法 time reward obs

问题:

在强化学习算法性能测试时使用训练好的模型运行游戏,此时如何控制实时游戏画面的帧数?

 

 

========================================

 

 

看到很多训练好的模型与游戏交互时控制游戏画面帧数的方法,但一直也没有一个让我比较满意的方法,最近看代码发现了一种还不错的方法,这里记录一下。

 

代码:

FPS = 60
total_reward = 0.0
obs = env.reset()

while True:
    start_ts = time.time()
    if args.vis:
        env.render()

    action = agent.play(obs)    
    obs, reward, is_done, info = env.step(action)
    total_reward += reward
    if done:
        break

    if args.vis:
        delta = 1/FPS - (time.time() - start_ts)
        if delta > 0:
            time.sleep(delta)

 

 

这种控制游戏实时帧数的方法,其实就是计算预先设定的每帧画面间隔时间与实时运行时每帧画面间隔时间的差距,如果此时的实时游戏交互速度要快于预设的速度,那么就会根据计算出的间隔时间差距进行sleep睡眠操作,从而使实时游戏速度达到预期。但是如果游戏实时速度慢于预设速度,该方法没有任何作用,也就是说上面代码只可以对实时游戏进行减速而不能加速。

 

 

 

================================================

 

标签:游戏,实时,画面,算法,time,reward,obs
From: https://www.cnblogs.com/devilmaycry812839668/p/16729514.html

相关文章

  • 在 Linux 上使用《算法》第4版官网中的 algs4.jar 包
    使用《算法》第4版(AlgorithmsFourthEdition)中的algs4.jar包下载algs4.jar官网网址:https://algs4.cs.princeton.edu/code/进入网站后使用浏览器的查找功能ctrl+......
  • 计算空间物体包围球的两种算法实现
    1.概述在进行二维空间几何运算的之前,往往会用包围盒进行快速碰撞检测,从而筛掉一些无法碰撞到的可能。而在三维中,比较常用的就是包围球了。当然,如何计算包围球是一个问题......
  • MySQL的join算法优化
    在Mysql的实现中,Nested-LoopJoin有3种实现的算法:SimpleNested-LoopJoin:SNLJ,简单嵌套循环连接IndexNested-LoopJoin:INLJ,索引嵌套循环连接BlockNested-LoopJoin:BN......
  • Linux 网卡实时流量查看脚本
    Linux网卡实时流量查看脚本#!/bin/bashPATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin;exportPATHfunctiontraffic_monitor{OS_NAME=$......
  • 智能优化算法——鲸鱼优化算法(WOA) MATLAB算法实现
    智能优化算法——鲸鱼优化算法(WOA)Main%_________________________________________________________________________%---智能优化算法---......
  • 埃拉托斯特尼筛法——求1-n内质数个数的最快算法
    埃拉托斯特尼筛法,简称埃氏筛或爱氏筛,是一种由希腊数学家埃拉托斯特尼所提出的一种简单检定素数的算法。要得到自然数n以内的全部素数,必须把不大于根号n的所有素数的倍数......
  • 算法与数据结构--有效数独
    classSolution{public:boolisValidSudoku(vector<vector<char>>&board){introws[9][9];//建造一个二维数组,记录行intcolumns[9][9];//建......
  • 推荐系统:技术、评估及高效算法 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1MpDkvw16U1E5O6OuVBY3Ow点击这里获取提取码 ......
  • KMP算法,BF算法
    串、BF算法、KMP算法概述需要掌握:1、串的相关概念,串与线性表之间的异同2、顺序串,和链串中串的基本的基本运算算法设计3、模式匹配算法BF、和KMP算法串......
  • 排序算法
    内部排序这里先介绍一个概念,算法稳定性算法稳定性--假设在数列中存在a[i]=a[j],若在排序之前,a[i]在a[j]前面;并且排序之后,a[i]仍然在a[j]前面。则这个排序算法是稳定的!......