#pragma once #include #include "..\Common\DeviceResources.h" #include "..\Common\StepTimer.h" namespace $ext_safeprojectname$ { // 使用 Direct2D 和 DirectWrite 在屏幕右下角呈现当前的 FPS 值。 class SampleFpsTextRenderer { public: SampleFpsTextRenderer(const std::shared_ptr& deviceResources); void CreateDeviceDependentResources(); void ReleaseDeviceDependentResources(); void Update(DX::StepTimer const& timer); void Render(); private: // 缓存的设备资源指针。 std::shared_ptr m_deviceResources; // 与文本渲染相关的资源。 std::wstring m_text; DWRITE_TEXT_METRICS m_textMetrics; Microsoft::WRL::ComPtr m_whiteBrush; Microsoft::WRL::ComPtr m_stateBlock; Microsoft::WRL::ComPtr m_textLayout; Microsoft::WRL::ComPtr m_textFormat; }; }