From 125c66df3e2329629091436882fc8d85fe6e5202 Mon Sep 17 00:00:00 2001 From: Haibo Date: Sun, 25 Nov 2018 20:25:46 +0800 Subject: [PATCH] optimize --- core/base/ActionTween.cpp | 1 - core/base/Sprite.cpp | 1 - core/base/audio.h | 5 ++++- core/base/macros.h | 3 --- core/base/render.h | 31 +++++++++++++++++-------------- core/base/time.cpp | 3 ++- core/utils/File.h | 1 + core/utils/Player.h | 7 +++++-- 8 files changed, 29 insertions(+), 23 deletions(-) diff --git a/core/base/ActionTween.cpp b/core/base/ActionTween.cpp index 0bd64bf9..ee751579 100644 --- a/core/base/ActionTween.cpp +++ b/core/base/ActionTween.cpp @@ -22,7 +22,6 @@ #include "Geometry.h" #include "include-forwards.h" #include "Node.h" -#include #include namespace easy2d diff --git a/core/base/Sprite.cpp b/core/base/Sprite.cpp index 671e1296..4f219978 100644 --- a/core/base/Sprite.cpp +++ b/core/base/Sprite.cpp @@ -20,7 +20,6 @@ #include "Sprite.h" #include "render.h" -#include namespace easy2d { diff --git a/core/base/audio.h b/core/base/audio.h index 762534da..4a0f5d77 100644 --- a/core/base/audio.h +++ b/core/base/audio.h @@ -23,6 +23,7 @@ #include "Singleton.hpp" #include "noncopyable.hpp" #include +#include namespace easy2d { @@ -78,6 +79,8 @@ namespace easy2d { E2D_DECLARE_SINGLETON(AudioDevice); + using VoiceMap = std::unordered_set; + public: HRESULT Init(bool debug); @@ -106,7 +109,7 @@ namespace easy2d protected: IXAudio2* x_audio2_; IXAudio2MasteringVoice* mastering_voice_; - std::set voice_cache_; + VoiceMap voice_cache_; }; E2D_DECLARE_SINGLETON_TYPE(AudioDevice, Audio); diff --git a/core/base/macros.h b/core/base/macros.h index 63a3da77..007e1938 100644 --- a/core/base/macros.h +++ b/core/base/macros.h @@ -84,9 +84,6 @@ // C++ RunTime Header Files #include #include -#include -#include -#include #include #include diff --git a/core/base/render.h b/core/base/render.h index 33ceb618..cb0ae486 100644 --- a/core/base/render.h +++ b/core/base/render.h @@ -27,6 +27,7 @@ #include "TextStyle.hpp" #include "Singleton.hpp" #include "../math/Matrix.hpp" +#include namespace easy2d { @@ -42,6 +43,8 @@ namespace easy2d int primitives; }; + using BitmapMap = std::unordered_map; + public: HRESULT Init(HWND hwnd, bool vsync, bool debug); @@ -171,20 +174,20 @@ namespace easy2d ~GraphicsDevice(); protected: - bool debug_; - bool window_occluded_; - bool vsync_enabled_; - bool antialias_; - float opacity_; - D2D1_COLOR_F clear_color_; - TextAntialias text_antialias_; - Status status_; - cpTextRenderer text_renderer_; - cpSolidColorBrush solid_brush_; - cpHwndRenderTarget render_target_; - cpTextFormat fps_text_format_; - cpTextLayout fps_text_layout_; - std::map bitmap_cache_; + bool debug_; + bool window_occluded_; + bool vsync_enabled_; + bool antialias_; + float opacity_; + D2D1_COLOR_F clear_color_; + TextAntialias text_antialias_; + Status status_; + cpTextRenderer text_renderer_; + cpSolidColorBrush solid_brush_; + cpHwndRenderTarget render_target_; + cpTextFormat fps_text_format_; + cpTextLayout fps_text_layout_; + BitmapMap bitmap_cache_; }; E2D_DECLARE_SINGLETON_TYPE(GraphicsDevice, Graphics); diff --git a/core/base/time.cpp b/core/base/time.cpp index 79ef17d7..30ac1637 100644 --- a/core/base/time.cpp +++ b/core/base/time.cpp @@ -21,6 +21,7 @@ #include "time.h" #include "logs.h" #include +#include namespace easy2d { @@ -108,7 +109,7 @@ namespace easy2d { const auto duration_regex = std::wregex(LR"([-+]?([0-9]*(\.[0-9]*)?[a-z]+)+)"); - typedef std::map UnitMap; + typedef std::unordered_map UnitMap; const auto unit_map = UnitMap { {L"ms", Millisecond}, diff --git a/core/utils/File.h b/core/utils/File.h index c1a90fe7..2fbb8d33 100644 --- a/core/utils/File.h +++ b/core/utils/File.h @@ -21,6 +21,7 @@ #pragma once #include "../base/Resource.h" #include +#include namespace easy2d { diff --git a/core/utils/Player.h b/core/utils/Player.h index 1ae745a1..f792d5a4 100644 --- a/core/utils/Player.h +++ b/core/utils/Player.h @@ -21,6 +21,7 @@ #pragma once #include "../base/include-forwards.h" #include "../base/Resource.h" +#include namespace easy2d { @@ -28,6 +29,8 @@ namespace easy2d class Player : protected Noncopyable { + using MusicMap = std::unordered_map; + public: Player(); @@ -116,7 +119,7 @@ namespace easy2d void ClearCache(); protected: - float volume_; - std::map musics_cache_; + float volume_; + MusicMap musics_cache_; }; }