OSDN Git Service

縮小宇画像キャッシュを改善。
authorMandhelingFreak <mandheling30-freak@yahoo.co.jp>
Sat, 8 Feb 2014 17:13:46 +0000 (02:13 +0900)
committerMandhelingFreak <mandheling30-freak@yahoo.co.jp>
Sat, 8 Feb 2014 17:13:46 +0000 (02:13 +0900)
GVONavish/GVONavish/GVOWorldMap.cpp
GVONavish/GVONavish/GVOWorldMap.h

index fedd429..7c3fe41 100644 (file)
@@ -28,6 +28,14 @@ bool GVOWorldMap::loadFromFile( const GVOConfig& config )
        // \89æ\91\9c\82Ì\8d\82\82³\82Æ\88Ü\93x\82Ì\94ä\97¦\82Ì\83X\83P\81[\83\8a\83\93\83O\82Ì\8aî\8f\80\82Æ\82È\82é\81B
        const double mapHeight = m_mapImage.height();
        m_ratioForImageCoordFromWorldCoord = mapHeight / k_worldHeight;
+
+       SIZE size;
+       size.cx = LONG( m_mapImage.width() * 0.5 );
+       size.cy = LONG( m_mapImage.height() * 0.5 );
+       m_mapImageMipmap1.stretchCopy( m_mapImage, size );
+       size.cx = LONG( m_mapImage.width() * k_minScale );
+       size.cy = LONG( m_mapImage.height() * k_minScale );
+       m_mapImageMipmap2.stretchCopy( m_mapImage, size );
        return true;
 }
 
@@ -124,13 +132,12 @@ void GVOWorldMap::drawMap( HDC hdc, const GVOShip& ship )
 
        ::SaveDC( hdc );
        if ( m_viewScale < 1.0 ) {
-               // \8fk\8f¬\89æ\91\9c\95`\89æ\83R\83X\83g\82ð\8cy\8c¸\82·\82é\88×\82É\83L\83\83\83b\83V\83\85\82ð\8dì\90¬\81B
-               // \95p\94É\82É\8fk\8f¬\94ä\97¦\82ð\95Ï\8dX\82·\82é\8e\9e\82¾\82¯\83R\83X\83g\82ª\8d\82\82­\95t\82­\82ª\81A
-               // \96w\82Ç\82Ì\8fê\8d\87\82É\82¨\82¢\82ÄCPU\95\89\89×\82ª\8cy\8c¸\82³\82ê\82é\81B
-               if ( !m_reducedMapImageCache.isCompatible(mapSize) ) {
-                       m_reducedMapImageCache.stretchCopy( m_mapImage, mapSize );
+               if ( 0.5 <= m_viewScale ) {
+                       mapImage = &m_mapImageMipmap1;
+               }
+               else {
+                       mapImage = &m_mapImageMipmap2;
                }
-               mapImage = &m_reducedMapImageCache;
        }
        ::SetStretchBltMode( hdc, COLORONCOLOR );
 
index 48307fd..e1971d2 100644 (file)
@@ -18,7 +18,8 @@ private:
 
 private:
        GVOImage m_mapImage;
-       GVOImage m_reducedMapImageCache;        //!<@brief \8fk\8f¬\89æ\91\9c\83L\83\83\83b\83V\83\85
+       GVOImage m_mapImageMipmap1;
+       GVOImage m_mapImageMipmap2;
        POINT m_focusPointInWorldCoord;
        SIZE m_viewSize;