前言

之前虚幻引擎的进程都是通过UE实例自己退出的,最近尝试一个新的方案,通过nodejs来杀死进程来实现UE实例的退出。不过由于担心反正强杀进程会导致系统问题,这里进行一下压力测试。

测试环境

操作系统:win11专业版



虚幻引擎像素流杀进程压力测试_压力测试

显卡:rtx4060 TI



虚幻引擎像素流杀进程压力测试_系统问题_02

显卡驱动:551.76



虚幻引擎像素流杀进程压力测试_系统问题_03

测试方案

这里采用puppeteer的压力测试方案。Puppeteer 是一个用于控制无头 Chrome 或 Chromium 浏览器的 Node.js 库。它提供了一个高层次的 API,适合用于自动化网页任务,如抓取网页内容、生成截图和 PDF、自动化表单提交、进行 UI 测试等。

npm i puppeteer
  • 1.

测试代码

const puppeteer = require('puppeteer')

let count = 0;
puppeteer
  .launch({
    headless: false,
  })
  .then(async (browser) => {
    while(true){
        const page = await browser.newPage()
        await page.goto('http://127.0.0.1:5500/test.html')
        count = count+1
        console.log(`open ue count = ${count}`)
        // 其他操作...
        await sleep(10 * 1000)
        page.close();
        await sleep(30 * 1000)
    }
    
    //await browser.close()
  })

function sleep(duration) {
  return new Promise((resolve) => {
    setTimeout(resolve, duration)
  })
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

这里设置UE实例20秒没有访问就会被杀掉,然后30秒之后再打开网页,如此反复进行。



虚幻引擎像素流杀进程压力测试_系统问题_04

20秒之后UE实例就会被自动杀掉,如下面两个图片



虚幻引擎像素流杀进程压力测试_虚幻引擎_05

虚幻引擎像素流杀进程压力测试_虚幻_06

测试结果

基本上还算可以,跑了半天,等下继续跑,画面一直可以出来。



虚幻引擎像素流杀进程压力测试_虚幻_07