diff --git a/modules/juce_graphics/native/juce_Direct2DGraphicsContextImpl_windows.h b/modules/juce_graphics/native/juce_Direct2DGraphicsContextImpl_windows.h index 5bb8c9b830..7640e41584 100644 --- a/modules/juce_graphics/native/juce_Direct2DGraphicsContextImpl_windows.h +++ b/modules/juce_graphics/native/juce_Direct2DGraphicsContextImpl_windows.h @@ -89,6 +89,16 @@ public: return directWrite->getFonts(); } + uint64_t getFrameId() const + { + return owner.getFrameId(); + } + + Direct2DMetrics::Ptr getMetrics() const + { + return owner.metrics; + } + bool fillSpriteBatch (const RectangleList& list); DirectWriteGlyphRun glyphRun; diff --git a/modules/juce_graphics/native/juce_Direct2DMetrics_windows.h b/modules/juce_graphics/native/juce_Direct2DMetrics_windows.h index 56027a559b..5f10132a5a 100644 --- a/modules/juce_graphics/native/juce_Direct2DMetrics_windows.h +++ b/modules/juce_graphics/native/juce_Direct2DMetrics_windows.h @@ -176,13 +176,7 @@ private: struct Direct2DScopedElapsedTime { - Direct2DScopedElapsedTime (Direct2DMetrics::Ptr& metricsIn, size_t accumulatorIndexIn) - : metrics (metricsIn.get()), - accumulatorIndex (accumulatorIndexIn) - { - } - - Direct2DScopedElapsedTime (Direct2DMetrics* metricsIn, size_t accumulatorIndexIn) + Direct2DScopedElapsedTime (Direct2DMetrics::Ptr metricsIn, size_t accumulatorIndexIn) : metrics (metricsIn), accumulatorIndex (accumulatorIndexIn) { @@ -195,7 +189,7 @@ struct Direct2DScopedElapsedTime } int64 startTicks = Time::getHighResolutionTicks(); - Direct2DMetrics* metrics; + Direct2DMetrics::Ptr metrics; size_t accumulatorIndex; }; diff --git a/modules/juce_graphics/native/juce_EventTracing.h b/modules/juce_graphics/native/juce_EventTracing.h index 46be41b45d..06d62605da 100644 --- a/modules/juce_graphics/native/juce_EventTracing.h +++ b/modules/juce_graphics/native/juce_EventTracing.h @@ -289,18 +289,18 @@ auto toVector (const RectangleList& list) #define JUCE_TRACE_EVENT_INT_RECT_LIST(code, keyword, frameNumber, rect) \ { \ const std::vector vec = ::juce::etw::toVector (rect); \ - JUCE_WRITE_TRACE_LOG (code, \ - etw::softwareRendererKeyword, \ - TraceLoggingValue ((UINT64) frameNumber, "frame"), \ - TraceLoggingInt32Array (vec.data(), (UINT16) vec.size(), "rect")); \ + JUCE_WRITE_TRACE_LOG_VA (code, \ + etw::softwareRendererKeyword, \ + TraceLoggingValue ((UINT64) frameNumber, "frame"), \ + TraceLoggingInt32Array (vec.data(), (UINT16) vec.size(), "rect")); \ } #define JUCE_TRACE_EVENT_INT_RECT(code, keyword, rect) \ { \ const std::vector vec = ::juce::etw::toVector (rect); \ - JUCE_WRITE_TRACE_LOG (code, \ - etw::softwareRendererKeyword, \ - TraceLoggingInt32Array (vec.data(), (UINT16) vec.size(), "rect")); \ + JUCE_WRITE_TRACE_LOG_VA (code, \ + etw::softwareRendererKeyword, \ + TraceLoggingInt32Array (vec.data(), (UINT16) vec.size(), "rect")); \ } #else #define JUCE_TRACE_EVENT_INT_RECT_LIST(code, keyword, frameNumber, rect) diff --git a/modules/juce_gui_basics/native/juce_Direct2DHwndContext_windows.cpp b/modules/juce_gui_basics/native/juce_Direct2DHwndContext_windows.cpp index 7032643ab1..adb1e3b5b4 100644 --- a/modules/juce_gui_basics/native/juce_Direct2DHwndContext_windows.cpp +++ b/modules/juce_gui_basics/native/juce_Direct2DHwndContext_windows.cpp @@ -554,7 +554,7 @@ public: { deferredRepaints.add (deferredRepaint); - JUCE_TRACE_EVENT_INT_RECT (etw::repaint, etw::paintKeyword, snappedRectangle); + JUCE_TRACE_EVENT_INT_RECT (etw::repaint, etw::paintKeyword, deferredRepaint); } SavedState* startFrame() override @@ -572,7 +572,7 @@ public: dirtyRegionsInBackBuffer.add (deferredRepaints); deferredRepaints.clear(); - JUCE_TRACE_LOG_D2D_PAINT_CALL (etw::direct2dHwndPaintStart, owner.getFrameId()); + JUCE_TRACE_LOG_D2D_PAINT_CALL (etw::direct2dHwndPaintStart, getFrameId()); return savedState; } @@ -587,7 +587,7 @@ public: void present() { - JUCE_D2DMETRICS_SCOPED_ELAPSED_TIME (owner.metrics, present1Duration); + JUCE_D2DMETRICS_SCOPED_ELAPSED_TIME (getMetrics(), present1Duration); if (swap.getBuffer() == nullptr || dirtyRegionsInBackBuffer.isEmpty() || ! swapEventReceived) return; @@ -629,7 +629,7 @@ public: // There's nothing waiting to be displayed in the backbuffer. dirtyRegionsInBackBuffer.clear(); - JUCE_TRACE_LOG_D2D_PAINT_CALL (etw::direct2dHwndPaintEnd, owner.getFrameId()); + JUCE_TRACE_LOG_D2D_PAINT_CALL (etw::direct2dHwndPaintEnd, getFrameId()); } Image createSnapshot() const