diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-09-01 23:38:52 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-09-01 23:38:52 +0300 |
commit | 987141c4340c508b14ec085f977754bb48dcfe0e (patch) | |
tree | bcf9b747ebdf79a4c45a9d19a4c22725d48f4b99 /src/resources | |
parent | 2ab3f0d8d04374b330c91a9f065efa0f526d7824 (diff) | |
download | plus-987141c4340c508b14ec085f977754bb48dcfe0e.tar.gz plus-987141c4340c508b14ec085f977754bb48dcfe0e.tar.bz2 plus-987141c4340c508b14ec085f977754bb48dcfe0e.tar.xz plus-987141c4340c508b14ec085f977754bb48dcfe0e.zip |
improve speed in software renderer in SDL2.
now it works almost with same speed like SDL1.2
Diffstat (limited to 'src/resources')
-rw-r--r-- | src/resources/sdl2softwareimagehelper.cpp | 10 | ||||
-rw-r--r-- | src/resources/sdl2softwareimagehelper.h | 10 |
2 files changed, 5 insertions, 15 deletions
diff --git a/src/resources/sdl2softwareimagehelper.cpp b/src/resources/sdl2softwareimagehelper.cpp index 3511b8298..7c4ff3d5d 100644 --- a/src/resources/sdl2softwareimagehelper.cpp +++ b/src/resources/sdl2softwareimagehelper.cpp @@ -40,7 +40,7 @@ #include "debug.h" bool SDL2SoftwareImageHelper::mEnableAlphaCache = false; -SDL_Renderer *SDL2SoftwareImageHelper::mRenderer = nullptr; +SDL_PixelFormat *SDL2SoftwareImageHelper::mFormat = nullptr; Image *SDL2SoftwareImageHelper::load(SDL_RWops *const rw, Dye const &dye) const { @@ -137,13 +137,7 @@ Image *SDL2SoftwareImageHelper::_SDLload(SDL_Surface *tmpImage) const if (!tmpImage) return nullptr; -// SDL_Texture *const texture = SDL_CreateTextureFromSurface( -// mRenderer, tmpImage); -// if (!texture) -// return nullptr; -// SDL_SetTextureBlendMode(texture, SDL_BLENDMODE_BLEND); -// return new Image(texture, tmpImage->w, tmpImage->h); - SDL_Surface *image = convertTo32Bit(tmpImage); + SDL_Surface *image = SDL_ConvertSurface(tmpImage, mFormat, 0); return new Image(image, false, nullptr); } diff --git a/src/resources/sdl2softwareimagehelper.h b/src/resources/sdl2softwareimagehelper.h index 877ae9032..907d2242e 100644 --- a/src/resources/sdl2softwareimagehelper.h +++ b/src/resources/sdl2softwareimagehelper.h @@ -94,19 +94,15 @@ class SDL2SoftwareImageHelper final : public ImageHelper SDL_Surface *const dst, SDL_Rect *const dstrect); -#ifdef USE_SDL2 - static void setRenderer(SDL_Renderer *const renderer) - { mRenderer = renderer; } -#endif + static void setFormat(SDL_PixelFormat *const format) + { mFormat = format; } protected: /** SDL_Surface to SDL_Surface Image loader */ Image *_SDLload(SDL_Surface *tmpImage) const A_WARN_UNUSED; static bool mEnableAlphaCache; -#ifdef USE_SDL2 - static SDL_Renderer *mRenderer; -#endif + static SDL_PixelFormat *mFormat; }; #endif // USE_SDL2 |