render: rename renderer identifiers and perf labels
This commit is contained in:
parent
cb92f6aec5
commit
1f8166e21c
1 changed files with 14 additions and 15 deletions
|
|
@ -1518,7 +1518,6 @@ struct SceneRingItem {
|
||||||
struct SceneRingFrame {
|
struct SceneRingFrame {
|
||||||
uint64_t frame = 0;
|
uint64_t frame = 0;
|
||||||
float cam[3] = {};
|
float cam[3] = {};
|
||||||
bool v3_walk = false;
|
|
||||||
// Per-frame captured globals: a one-frame glitch in any of these shifts
|
// Per-frame captured globals: a one-frame glitch in any of these shifts
|
||||||
// shading on every consumer with the composition identical.
|
// shading on every consumer with the composition identical.
|
||||||
float fog[6] = {}; // ramp xyz + color rgb
|
float fog[6] = {}; // ramp xyz + color rgb
|
||||||
|
|
@ -1556,7 +1555,7 @@ void MaybeDumpSceneRing() {
|
||||||
"%.3f,%.4f,%.4f,%.4f,fam,%.4f,%.4f,%.4f,%.4f,sky,%.1f,"
|
"%.3f,%.4f,%.4f,%.4f,fam,%.4f,%.4f,%.4f,%.4f,sky,%.1f,"
|
||||||
"shadow,%d\n",
|
"shadow,%d\n",
|
||||||
static_cast<unsigned long long>(fr.frame), double(fr.cam[0]),
|
static_cast<unsigned long long>(fr.frame), double(fr.cam[0]),
|
||||||
double(fr.cam[1]), double(fr.cam[2]), fr.v3_walk ? 1 : 0,
|
double(fr.cam[1]), double(fr.cam[2]),
|
||||||
fr.items.size(), double(fr.fog[0]), double(fr.fog[1]),
|
fr.items.size(), double(fr.fog[0]), double(fr.fog[1]),
|
||||||
double(fr.fog[2]), double(fr.fog[3]), double(fr.fog[4]),
|
double(fr.fog[2]), double(fr.fog[3]), double(fr.fog[4]),
|
||||||
double(fr.fog[5]), double(fr.family_rows[0]),
|
double(fr.fog[5]), double(fr.family_rows[0]),
|
||||||
|
|
@ -1736,7 +1735,7 @@ PerfWindow g_pw_bpal; // ServeAuthoritativePalettes
|
||||||
uint64_t g_frame_b2d_ns = 0;
|
uint64_t g_frame_b2d_ns = 0;
|
||||||
uint64_t g_frame_bspl_ns = 0;
|
uint64_t g_frame_bspl_ns = 0;
|
||||||
uint64_t g_frame_bpal_ns = 0;
|
uint64_t g_frame_bpal_ns = 0;
|
||||||
uint64_t g_frame_v3_ns = 0;
|
uint64_t g_frame_pal_tail_ns = 0;
|
||||||
std::atomic<uint32_t> g_dt_hist[5] = {}; // <3.6 / <4.5 / <6 / <10 / >=10 ms
|
std::atomic<uint32_t> g_dt_hist[5] = {}; // <3.6 / <4.5 / <6 / <10 / >=10 ms
|
||||||
std::atomic<uint32_t> g_slow_frame_log_budget{0};
|
std::atomic<uint32_t> g_slow_frame_log_budget{0};
|
||||||
std::atomic<uint64_t> g_warm_decodes{0};
|
std::atomic<uint64_t> g_warm_decodes{0};
|
||||||
|
|
@ -7829,7 +7828,7 @@ void BuildFrameScene(uint8_t* base, const SubmitRecord* records, size_t count) {
|
||||||
// Previous frame's phase costs, for the slow-frame attribution below (a
|
// Previous frame's phase costs, for the slow-frame attribution below (a
|
||||||
// frame's dt is only known at the NEXT frame's entry).
|
// frame's dt is only known at the NEXT frame's entry).
|
||||||
static uint64_t s_prev_build_ns = 0, s_prev_b2d_ns = 0, s_prev_bspl_ns = 0,
|
static uint64_t s_prev_build_ns = 0, s_prev_b2d_ns = 0, s_prev_bspl_ns = 0,
|
||||||
s_prev_bpal_ns = 0, s_prev_v3_ns = 0, s_prev_cap_ns = 0;
|
s_prev_bpal_ns = 0, s_prev_pal_tail_ns = 0, s_prev_cap_ns = 0;
|
||||||
const auto build_t0 = PerfClock::now();
|
const auto build_t0 = PerfClock::now();
|
||||||
if (s_last_frame_tp.time_since_epoch().count() != 0) {
|
if (s_last_frame_tp.time_since_epoch().count() != 0) {
|
||||||
const uint64_t dt_ns = uint64_t(
|
const uint64_t dt_ns = uint64_t(
|
||||||
|
|
@ -7852,10 +7851,10 @@ void BuildFrameScene(uint8_t* base, const SubmitRecord* records, size_t count) {
|
||||||
"(2d={:.2f} spl={:.2f} pal={:.2f} ptail={:.2f} walk={:.2f}) rest={:.2f}]ms",
|
"(2d={:.2f} spl={:.2f} pal={:.2f} ptail={:.2f} walk={:.2f}) rest={:.2f}]ms",
|
||||||
dt_ms, double(s_prev_cap_ns) * 1e-6, double(s_prev_build_ns) * 1e-6,
|
dt_ms, double(s_prev_cap_ns) * 1e-6, double(s_prev_build_ns) * 1e-6,
|
||||||
double(s_prev_b2d_ns) * 1e-6, double(s_prev_bspl_ns) * 1e-6,
|
double(s_prev_b2d_ns) * 1e-6, double(s_prev_bspl_ns) * 1e-6,
|
||||||
double(s_prev_bpal_ns) * 1e-6, double(s_prev_v3_ns) * 1e-6,
|
double(s_prev_bpal_ns) * 1e-6, double(s_prev_pal_tail_ns) * 1e-6,
|
||||||
double(s_prev_build_ns - std::min(s_prev_build_ns,
|
double(s_prev_build_ns - std::min(s_prev_build_ns,
|
||||||
s_prev_b2d_ns + s_prev_bspl_ns +
|
s_prev_b2d_ns + s_prev_bspl_ns +
|
||||||
s_prev_bpal_ns + s_prev_v3_ns)) *
|
s_prev_bpal_ns + s_prev_pal_tail_ns)) *
|
||||||
1e-6,
|
1e-6,
|
||||||
dt_ms - ours_ms);
|
dt_ms - ours_ms);
|
||||||
}
|
}
|
||||||
|
|
@ -7867,14 +7866,14 @@ void BuildFrameScene(uint8_t* base, const SubmitRecord* records, size_t count) {
|
||||||
g_frame_b2d_ns = 0;
|
g_frame_b2d_ns = 0;
|
||||||
g_frame_bspl_ns = 0;
|
g_frame_bspl_ns = 0;
|
||||||
g_frame_bpal_ns = 0;
|
g_frame_bpal_ns = 0;
|
||||||
g_frame_v3_ns = 0;
|
g_frame_pal_tail_ns = 0;
|
||||||
struct BuildPerf {
|
struct BuildPerf {
|
||||||
PerfClock::time_point t0;
|
PerfClock::time_point t0;
|
||||||
uint64_t* prev_build_ns;
|
uint64_t* prev_build_ns;
|
||||||
uint64_t* prev_b2d_ns;
|
uint64_t* prev_b2d_ns;
|
||||||
uint64_t* prev_bspl_ns;
|
uint64_t* prev_bspl_ns;
|
||||||
uint64_t* prev_bpal_ns;
|
uint64_t* prev_bpal_ns;
|
||||||
uint64_t* prev_v3_ns;
|
uint64_t* prev_pal_tail_ns;
|
||||||
~BuildPerf() {
|
~BuildPerf() {
|
||||||
const uint64_t build_ns = uint64_t(
|
const uint64_t build_ns = uint64_t(
|
||||||
std::chrono::duration_cast<std::chrono::nanoseconds>(PerfClock::now() - t0)
|
std::chrono::duration_cast<std::chrono::nanoseconds>(PerfClock::now() - t0)
|
||||||
|
|
@ -7887,7 +7886,7 @@ void BuildFrameScene(uint8_t* base, const SubmitRecord* records, size_t count) {
|
||||||
*prev_pal_tail_ns = g_frame_pal_tail_ns;
|
*prev_pal_tail_ns = g_frame_pal_tail_ns;
|
||||||
}
|
}
|
||||||
} build_perf{build_t0, &s_prev_build_ns, &s_prev_b2d_ns, &s_prev_bspl_ns,
|
} build_perf{build_t0, &s_prev_build_ns, &s_prev_b2d_ns, &s_prev_bspl_ns,
|
||||||
&s_prev_bpal_ns, &s_prev_v3_ns};
|
&s_prev_bpal_ns, &s_prev_pal_tail_ns};
|
||||||
if (g_recording.load(std::memory_order_relaxed)) {
|
if (g_recording.load(std::memory_order_relaxed)) {
|
||||||
// Flush this frame's deferred inline-ring payloads (2D BeginVertices
|
// Flush this frame's deferred inline-ring payloads (2D BeginVertices
|
||||||
// draws): the CPU has finished writing them by frame end, and the ring
|
// draws): the CPU has finished writing them by frame end, and the ring
|
||||||
|
|
@ -9657,12 +9656,12 @@ void BuildFrameScene(uint8_t* base, const SubmitRecord* records, size_t count) {
|
||||||
// block in the perf line; this tail runs on the guest render thread,
|
// block in the perf line; this tail runs on the guest render thread,
|
||||||
// where spikes are visible stutter.
|
// where spikes are visible stutter.
|
||||||
{
|
{
|
||||||
const auto v3_t0 = PerfClock::now();
|
const auto pal_tail_t0 = PerfClock::now();
|
||||||
skate3::native_palette::OnFrameBuilt();
|
skate3::native_palette::OnFrameBuilt();
|
||||||
g_frame_v3_ns = uint64_t(std::chrono::duration_cast<std::chrono::nanoseconds>(
|
g_frame_pal_tail_ns = uint64_t(std::chrono::duration_cast<std::chrono::nanoseconds>(
|
||||||
PerfClock::now() - v3_t0)
|
PerfClock::now() - pal_tail_t0)
|
||||||
.count());
|
.count());
|
||||||
g_pw_v3.Add(g_frame_v3_ns);
|
g_pw_pal_tail.Add(g_frame_pal_tail_ns);
|
||||||
}
|
}
|
||||||
|
|
||||||
// AUX-publish gate: the skater-portrait render-to-texture passes submit a
|
// AUX-publish gate: the skater-portrait render-to-texture passes submit a
|
||||||
|
|
@ -17586,7 +17585,7 @@ void LogFrameStats(const FrameScene& scene, uint64_t frames, uint32_t drawn,
|
||||||
g_dt_hist[2].exchange(0, std::memory_order_relaxed),
|
g_dt_hist[2].exchange(0, std::memory_order_relaxed),
|
||||||
g_dt_hist[3].exchange(0, std::memory_order_relaxed),
|
g_dt_hist[3].exchange(0, std::memory_order_relaxed),
|
||||||
g_dt_hist[4].exchange(0, std::memory_order_relaxed),
|
g_dt_hist[4].exchange(0, std::memory_order_relaxed),
|
||||||
g_pw_v3.AvgMs(), g_pw_v3.MaxMs(),
|
g_pw_pal_tail.AvgMs(), g_pw_pal_tail.MaxMs(),
|
||||||
g_pw_render.AvgMs(), g_pw_render.MaxMs(),
|
g_pw_render.AvgMs(), g_pw_render.MaxMs(),
|
||||||
g_pw_items.AvgMs(), g_pw_items.MaxMs(), g_pw_shadow.AvgMs(),
|
g_pw_items.AvgMs(), g_pw_items.MaxMs(), g_pw_shadow.AvgMs(),
|
||||||
g_pw_shadow.MaxMs(), g_pw_pre.AvgMs(), g_pw_pre.MaxMs(),
|
g_pw_shadow.MaxMs(), g_pw_pre.AvgMs(), g_pw_pre.MaxMs(),
|
||||||
|
|
@ -17604,7 +17603,7 @@ void LogFrameStats(const FrameScene& scene, uint64_t frames, uint32_t drawn,
|
||||||
g_cam_changes.exchange(0, std::memory_order_relaxed),
|
g_cam_changes.exchange(0, std::memory_order_relaxed),
|
||||||
g_cam_repeats.exchange(0, std::memory_order_relaxed),
|
g_cam_repeats.exchange(0, std::memory_order_relaxed),
|
||||||
g_cam_max_streak.exchange(0, std::memory_order_relaxed));
|
g_cam_max_streak.exchange(0, std::memory_order_relaxed));
|
||||||
for (PerfWindow* w : {&g_pw_guest_dt, &g_pw_capture, &g_pw_build, &g_pw_v3,
|
for (PerfWindow* w : {&g_pw_guest_dt, &g_pw_capture, &g_pw_build, &g_pw_pal_tail,
|
||||||
&g_pw_b2d, &g_pw_bspl, &g_pw_bpal,
|
&g_pw_b2d, &g_pw_bspl, &g_pw_bpal,
|
||||||
&g_pw_render, &g_pw_items, &g_pw_shadow, &g_pw_pre,
|
&g_pw_render, &g_pw_items, &g_pw_shadow, &g_pw_pre,
|
||||||
&g_pw_settle, &g_pw_tail, &g_pw_2d, &g_pw_mesh_decode,
|
&g_pw_settle, &g_pw_tail, &g_pw_2d, &g_pw_mesh_decode,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue