From 006218c708e65c22d2c1648f6b61220c5faacb20 Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sat, 2 Jul 2016 13:07:45 +0600 Subject: [PATCH] Optimize TextureCache::_clear() --- src/Textures.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Textures.cpp b/src/Textures.cpp index 238794e7..03326e74 100644 --- a/src/Textures.cpp +++ b/src/Textures.cpp @@ -1368,10 +1368,13 @@ void TextureCache::_clear() { current[0] = current[1] = nullptr; + std::vector textureNames; + textureNames.reserve(m_textures.size()); for (Textures::const_iterator cur = m_textures.cbegin(); cur != m_textures.cend(); ++cur) { m_cachedBytes -= cur->textureBytes; - glDeleteTextures(1, &cur->glName); + textureNames.push_back(cur->glName); } + glDeleteTextures(textureNames.size(), textureNames.data()); m_textures.clear(); m_lruTextureLocations.clear(); }