From 04b26886830a561516c0b26cfb3fed266bfc10e8 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Wed, 16 Nov 2016 13:25:50 +0800 Subject: [PATCH] Attempted to reduce allocations. --- Outputs/CRT/Internals/CRTOpenGL.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Outputs/CRT/Internals/CRTOpenGL.hpp b/Outputs/CRT/Internals/CRTOpenGL.hpp index 3a7035e36..ac05966f6 100644 --- a/Outputs/CRT/Internals/CRTOpenGL.hpp +++ b/Outputs/CRT/Internals/CRTOpenGL.hpp @@ -96,7 +96,8 @@ class OpenGLOutputBuilder { inline uint8_t *get_next_source_run() { - _line_buffer.data.resize(_line_buffer.pointer + SourceVertexSize); + if(_line_buffer.data.size() < _line_buffer.pointer + SourceVertexSize) + _line_buffer.data.resize(_line_buffer.pointer + SourceVertexSize); return &_line_buffer.data[_line_buffer.pointer]; } @@ -125,7 +126,6 @@ class OpenGLOutputBuilder { _output_buffer.pointer += OutputVertexSize; memcpy(&_source_buffer.data[_source_buffer.pointer], _line_buffer.data.data(), _line_buffer.data.size()); _source_buffer.pointer += _line_buffer.data.size(); - _line_buffer.data.resize(0); _line_buffer.pointer = 0; } }