Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Performance Monitor

The performance widget displays real-time performance metrics for debugging and optimization.

Overview

The performance widget shows:

  • Frame rate (FPS)
  • Frame timing statistics
  • Network throughput
  • Parser performance
  • Memory usage
  • Application uptime

Configuration

[[windows]]
name = "performance"
type = "performance"

# Position and size
row = 0
col = 0
width = 35
height = 15

# Which metrics to display
show_fps = true
show_frame_times = true
show_render_times = true
show_ui_times = false
show_wrap_times = false
show_net = true
show_parse = true
show_events = false
show_memory = true
show_lines = true
show_uptime = true
show_jitter = false
show_frame_spikes = false
show_event_lag = false
show_memory_delta = false

Metric Options

Frame Metrics

OptionDescription
show_fpsFrames per second
show_frame_timesFrame time min/avg/max
show_jitterFrame time variance
show_frame_spikesCount of slow frames (>33ms)

Render Metrics

OptionDescription
show_render_timesTotal render duration
show_ui_timesUI widget render time
show_wrap_timesText wrapping time

Network Metrics

OptionDescription
show_netBytes received/sent per second

Parser Metrics

OptionDescription
show_parseParse time and chunks/sec

Event Metrics

OptionDescription
show_eventsEvent processing time
show_event_lagTime since last event

Memory Metrics

OptionDescription
show_memoryEstimated memory usage
show_linesTotal lines buffered
show_memory_deltaMemory change rate

General

OptionDescription
show_uptimeApplication uptime

Display Example

┌─ Performance ──────────────────────┐
│ FPS: 60.0                          │
│ Frame: 0.8/1.2/2.1 ms              │
│ Render: 0.6 ms                     │
│                                    │
│ Net In: 1.2 KB/s                   │
│ Net Out: 0.1 KB/s                  │
│                                    │
│ Parse: 45 µs (12/s)                │
│                                    │
│ Memory: ~2.4 MB                    │
│ Lines: 12,345                      │
│                                    │
│ Uptime: 01:23:45                   │
└────────────────────────────────────┘

Examples

Full Metrics

[[windows]]
name = "performance"
type = "performance"
row = 0
col = 0
width = 35
height = 18
show_fps = true
show_frame_times = true
show_render_times = true
show_ui_times = true
show_wrap_times = true
show_net = true
show_parse = true
show_events = true
show_memory = true
show_lines = true
show_uptime = true
show_jitter = true
show_frame_spikes = true

Minimal FPS

[[windows]]
name = "fps"
type = "performance"
row = 0
col = 0
width = 15
height = 1
show_fps = true
show_frame_times = false
show_render_times = false
show_net = false
show_parse = false
show_memory = false
show_lines = false
show_uptime = false
show_border = false

Network Focus

[[windows]]
name = "network"
type = "performance"
row = 0
col = 100
width = 20
height = 5
show_fps = false
show_net = true
show_parse = true
show_memory = false
title = "Network"

Memory Focus

[[windows]]
name = "memory"
type = "performance"
row = 5
col = 100
width = 20
height = 5
show_fps = false
show_net = false
show_memory = true
show_lines = true
show_memory_delta = true
title = "Memory"

Metric Details

FPS (Frames Per Second)

FPS: 60.0

Target is 60 FPS. Lower values indicate performance issues.

Frame Times

Frame: 0.8/1.2/2.1 ms

Shows min/avg/max frame time over recent samples. Lower is better.

Frame Jitter

Jitter: 0.3 ms

Standard deviation of frame times. Lower means smoother animation.

Frame Spikes

Spikes: 2

Count of frames taking >33ms (below 30 FPS). Should be 0 or very low.

Render Time

Render: 0.6 ms

Time spent rendering all widgets. Should be well under 16ms.

Network

Net In: 1.2 KB/s
Net Out: 0.1 KB/s

Network throughput. High values during combat/activity are normal.

Parse Time

Parse: 45 µs (12/s)

Average XML parse time and chunks processed per second.

Memory

Memory: ~2.4 MB
Lines: 12,345

Estimated memory usage and total lines in all buffers.

Uptime

Uptime: 01:23:45

Time since Two-Face started (HH:MM:SS).

Performance Overhead

The performance widget itself has minimal overhead:

  • Only enabled metrics are collected
  • Collection can be disabled entirely
# In config.toml
[performance]
collect_metrics = false   # Disable all collection

Troubleshooting Performance

Low FPS

  1. Reduce buffer sizes in text windows
  2. Disable unused widgets
  3. Reduce highlight pattern count
  4. Use fast_parse = true for highlights

High Memory

  1. Reduce buffer_size on windows
  2. Close unused tabs
  3. Check for memory leaks (rising delta)

Network Issues

  1. Check connection stability
  2. Monitor for packet loss
  3. Consider bandwidth limitations

See Also