summaryrefslogtreecommitdiffstats
path: root/src/render/backend
diff options
context:
space:
mode:
authorVolker Krause <volker.krause@kdab.com>2016-01-06 13:48:58 +0100
committerVolker Krause <volker.krause@kdab.com>2016-01-06 15:55:52 +0000
commitd61673010fcc67d60e76619941fac714d0141323 (patch)
treedb000550ce130af6bf192d19641f9a1876e7f9a7 /src/render/backend
parentb2bcca82e7170de45b2a1fcdc29c4aecbda581a5 (diff)
Use QList::reserve.
The intermediate QLists are still not optimal here, as these methods are called per frame, but at least this is now down to one allocation each. Change-Id: I7705172aabc5e526c5123d70450d3ae2dec20d03 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/render/backend')
-rw-r--r--src/render/backend/entity.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/render/backend/entity.cpp b/src/render/backend/entity.cpp
index 48a7c738d..745e54735 100644
--- a/src/render/backend/entity.cpp
+++ b/src/render/backend/entity.cpp
@@ -364,6 +364,7 @@ template<>
QList<HLayer> Entity::componentsHandle<Layer>() const
{
QList<HLayer> layerHandles;
+ layerHandles.reserve(m_layerComponents.size());
Q_FOREACH (const QNodeId &id, m_layerComponents)
layerHandles.append(m_nodeManagers->layerManager()->lookupHandle(id));
return layerHandles;
@@ -373,6 +374,7 @@ template<>
QList<HShaderData> Entity::componentsHandle<ShaderData>() const
{
QList<HShaderData> shaderDataHandles;
+ shaderDataHandles.reserve(m_shaderDataComponents.size());
Q_FOREACH (const QNodeId &id, m_shaderDataComponents)
shaderDataHandles.append(m_nodeManagers->shaderDataManager()->lookupHandle(id));
return shaderDataHandles;
@@ -388,6 +390,7 @@ template<>
QList<HLight> Entity::componentsHandle<Light>() const
{
QList<HLight> lightHandles;
+ lightHandles.reserve(m_lightComponents.size());
Q_FOREACH (const QNodeId &id, m_lightComponents)
lightHandles.append(m_nodeManagers->lightManager()->lookupHandle(id));
return lightHandles;
@@ -429,6 +432,7 @@ template<>
QList<Layer *> Entity::renderComponents<Layer>() const
{
QList<Layer *> layers;
+ layers.reserve(m_layerComponents.size());
Q_FOREACH (const QNodeId &id, m_layerComponents)
layers.append(m_nodeManagers->layerManager()->lookupResource(id));
return layers;
@@ -438,6 +442,7 @@ template<>
QList<ShaderData *> Entity::renderComponents<ShaderData>() const
{
QList<ShaderData *> shaderDatas;
+ shaderDatas.reserve(m_shaderDataComponents.size());
Q_FOREACH (const QNodeId &id, m_shaderDataComponents)
shaderDatas.append(m_nodeManagers->shaderDataManager()->lookupResource(id));
return shaderDatas;
@@ -447,6 +452,7 @@ template<>
QList<Light *> Entity::renderComponents<Light>() const
{
QList<Light *> lights;
+ lights.reserve(m_lightComponents.size());
Q_FOREACH (const QNodeId &id, m_lightComponents)
lights.append(m_nodeManagers->lightManager()->lookupResource(id));
return lights;