Vixen
02b45cc4
csharp
public sealed class DiagnosticsModule

Doc 20's E4: the seven diagnostics panels, and what they are pointed at.

Read the guide page for this →

Remarks

The joining job, in the assembly whose job that is. Neither Vixen.Editor.Profiler nor Vixen.Editor.Debugger knows what a project, a scene or a graphics device is — which is what lets both be tested against a bare UiDocument. Deciding that the statistics panel counts this world, that the GPU timeline reads this device and that the frame debugger captures this frame is this type's.

⚠ A third assembly rather than a move into either of them, and that is the finding. Doc 36 § P3 says the built-ins go through the plugin API; for these two, doing it by putting the joining code inside them would have spent the property their own remarks name. The module is what a feature looks like when its parts are deliberately ignorant of each other.

⚠ Sampling is off until somebody presses Record. An always-on profiler is the right default for a game, where the interesting thirty seconds are the ones before the crash; an editor left running for a day would fill sixteen thread rings with a day of menu clicks that nobody will ever collect. ProfilerModel.Start turns it on and empties the rings first, which is what makes a capture start where the button was pressed.

Fields and properties (9)

  • public const string ModuleId

    What the host activates it under, and what a plugin depending on it names.

  • public const string ModuleName

    What a plugin-management panel calls it.

  • public const string DiagnosticsContext

    The context id of the diagnostics panels.

  • public IGraphicsDevice? GraphicsDevice

    The device the GPU timeline reads, when the host has one.

  • public GpuFrame GpuFrame

    The frame's GPU regions, as the host resolved them.

  • public Func<FrameCapture>? FrameCaptureSource

    What a frame capture is taken from, when the host can take one.

  • public string? InspectorEndpoint

    Where a standalone play-mode process would listen for an inspector.

  • public ProfilerModel Profiling

    The profiler's model, for a test and for the host's own frame samples.

  • public DeviceManager Devices

    The devices this editor can see, so a build can say what it is doing to one.

Methods (5)

  • public void Activate(PluginContext context)

    Adds everything the plugin contributes.

  • public void Deactivate()

    Releases what the registration scope does not know about.

  • public void Dispose()
  • public IEnumerable<MemoryRow> AssetResidency()

    What the project has loaded, as rows for the memory view.

  • public int Deepest()

    How deep the shown scene's hierarchy goes.

Used by (2)

  • EditorApplicationVixen.Editor.App
  • EditorModulesVixen.Editor.Host