--- nono/vm/renderer.h 2026/04/29 17:05:33 1.1.1.12 +++ nono/vm/renderer.h 2026/04/29 17:05:55 1.1.1.15 @@ -5,7 +5,7 @@ // // -// レンダラ +// ビデオレンダラ // #pragma once @@ -18,11 +18,11 @@ class ConsoleDevice; class PlaneVRAMDevice; -class Scheduler; class Syncer; +class UIMessage; class VideoCtlrDevice; -class Renderer : public ThreadDevice +class VideoRenderer : public ThreadDevice { using inherited = ThreadDevice; public: @@ -33,8 +33,8 @@ class Renderer : public ThreadDevice static const uint REQ_POST = 0x10; // UI への通知指示 public: - Renderer(); - ~Renderer() override; + VideoRenderer(); + ~VideoRenderer() override; bool Init() override; void ResetHard(bool poweron) override; @@ -75,6 +75,8 @@ class Renderer : public ThreadDevice // 画面合成。更新があれば true を返す。(派生クラス側で用意) virtual bool RenderMD() = 0; + void PrintPerf(); + DECLARE_MONITOR_CALLBACK(MonitorUpdate); // ウィンドウとして表示される画面はオプションや設定などで縮尺を変える @@ -128,8 +130,8 @@ class Renderer : public ThreadDevice uint64 last_output_time {}; // 前回の出力通知 RT 時刻 FixedQueue ma_output_span {}; // 出力通知間隔 - Scheduler *scheduler {}; Syncer *syncer {}; + UIMessage *uimessage {}; Monitor *monitor {}; @@ -141,12 +143,12 @@ class Renderer : public ThreadDevice // // X68030 レンダラ // -class X68030Renderer : public Renderer +class X68030VideoRenderer : public VideoRenderer { - using inherited = Renderer; + using inherited = VideoRenderer; public: - X68030Renderer(); - ~X68030Renderer() override; + X68030VideoRenderer(); + ~X68030VideoRenderer() override; bool Init() override; bool RenderMD() override; @@ -158,12 +160,12 @@ class X68030Renderer : public Renderer // // LUNA レンダラ // -class LunaRenderer : public Renderer +class LunaVideoRenderer : public VideoRenderer { - using inherited = Renderer; + using inherited = VideoRenderer; public: - LunaRenderer(); - ~LunaRenderer() override; + LunaVideoRenderer(); + ~LunaVideoRenderer() override; bool Init() override; bool RenderMD() override; @@ -175,9 +177,9 @@ class LunaRenderer : public Renderer // // コンソールレンダラ // -class ConsoleRenderer : public Renderer +class ConsoleRenderer : public VideoRenderer { - using inherited = Renderer; + using inherited = VideoRenderer; public: // フチ [pixel] @@ -194,6 +196,6 @@ class ConsoleRenderer : public Renderer ConsoleDevice *console {}; }; -static inline Renderer *GetRenderer() { - return Object::GetObject(OBJ_RENDERER); +static inline VideoRenderer *GetVideoRenderer() { + return Object::GetObject(OBJ_VIDEO_RENDERER); }