Update Healer Man server
This commit is contained in:
1 parent
6114a2295f
commit
69809f7228
593 files changed
+903643
-40774
No files matched your search
@@ -0,0 +1,56 @@
|
||||
const { chromium } = require('C:/Users/phenom/.cache/codex-runtimes/codex-primary-runtime/dependencies/node/node_modules/playwright');
|
||||
const fs = require('node:fs');
|
||||
const path = require('node:path');
|
||||
|
||||
// Bounded before/after asset comparison; excludes actors, gameplay and physics.
|
||||
(async () => {
|
||||
const output = path.resolve('artifacts/playtest/wow-environment-quality/shadowfang-performance');
|
||||
fs.mkdirSync(output, { recursive: true });
|
||||
const stages = process.argv.slice(2).length ? process.argv.slice(2) : ['before-shadowfang', 'repacked-shadowfang', 'selective-shadowfang'];
|
||||
if (stages.some((stage) => !['before-shadowfang', 'repacked-shadowfang', 'selective-shadowfang'].includes(stage))) throw new Error('Unknown Shadowfang review stage');
|
||||
const resultsFile = path.join(output, 'results.json');
|
||||
const results = process.argv.slice(2).length && fs.existsSync(resultsFile)
|
||||
? JSON.parse(fs.readFileSync(resultsFile, 'utf8')).results.filter((entry) => !stages.includes(entry.stage)) : [];
|
||||
const browser = await chromium.launch({ channel: 'msedge', headless: true });
|
||||
try {
|
||||
for (const stage of stages) {
|
||||
const context = await browser.newContext({ viewport: { width: 1280, height: 800 } });
|
||||
const page = await context.newPage();
|
||||
const errors = [];
|
||||
page.on('pageerror', (error) => errors.push(error.message));
|
||||
try {
|
||||
await page.goto(`http://127.0.0.1:4208/scripts/dungeon-pipeline/environment-preview.html?dungeon=shadowfang-keep&stage=${stage}`, { waitUntil: 'domcontentloaded' });
|
||||
await page.waitForFunction(() => window.wowEnvironmentReview?.ready, null, { timeout: 180_000 });
|
||||
const viewpoints = await page.evaluate(() => window.wowEnvironmentReview.viewpoints);
|
||||
const cases = [
|
||||
{ view: 0, quality: 'standard' },
|
||||
...[...new Set([0, Math.floor((viewpoints.length - 1) / 2), viewpoints.length - 1])].map((view) => ({ view, quality: 'high' })),
|
||||
];
|
||||
const samples = [];
|
||||
for (const entry of cases) {
|
||||
await page.evaluate(({ view, quality }) => {
|
||||
window.wowEnvironmentReview.setQuality(quality);
|
||||
window.wowEnvironmentReview.view(view);
|
||||
}, entry);
|
||||
await page.waitForTimeout(1000);
|
||||
await page.evaluate(() => window.wowEnvironmentReview.resetFrameSample());
|
||||
await page.waitForTimeout(3000);
|
||||
const sample = await page.evaluate(() => {
|
||||
const { textures, ...diagnostics } = window.wowEnvironmentReview.diagnostics();
|
||||
return { ...window.wowEnvironmentReview.frameSample(), ...diagnostics, textureCount: textures.length };
|
||||
});
|
||||
samples.push({ ...entry, name: viewpoints[entry.view].name, ...sample });
|
||||
await page.screenshot({ path: path.join(output, `${stage}-${entry.quality}-view-${entry.view}.png`) });
|
||||
}
|
||||
results.push({ stage, errors, samples });
|
||||
console.log(JSON.stringify({ stage, errors, samples }));
|
||||
} finally {
|
||||
await context.close();
|
||||
}
|
||||
}
|
||||
fs.writeFileSync(resultsFile, `${JSON.stringify({ scope: 'isolated Edge asset renderer at 1280×800; 3-second samples after 1-second settle; no actor, physics or mobile performance certification', results }, null, 2)}\n`);
|
||||
if (results.some((entry) => entry.errors.length)) process.exitCode = 1;
|
||||
} finally {
|
||||
await browser.close();
|
||||
}
|
||||
})().catch((error) => { console.error(error); process.exitCode = 1; });
|
||||
Reference in new issue
Block a user