mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 19:59:28 +02:00
use emplace_back and pre-reserved sizes for vectors
This commit is contained in:
parent
5d6112d9c5
commit
26ef6af009
1 changed files with 11 additions and 6 deletions
|
@ -78,7 +78,7 @@ void render::cullItems(const SceneContextPointer& sceneContext, const RenderCont
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bound.isNull()) {
|
if (bound.isNull()) {
|
||||||
outItems.push_back(ItemIDAndBounds(itemDetails.id)); // One more Item to render
|
outItems.emplace_back(ItemIDAndBounds(itemDetails.id)); // One more Item to render
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +96,7 @@ void render::cullItems(const SceneContextPointer& sceneContext, const RenderCont
|
||||||
bigEnoughToRender = (args->_shouldRender) ? args->_shouldRender(args, bound) : true;
|
bigEnoughToRender = (args->_shouldRender) ? args->_shouldRender(args, bound) : true;
|
||||||
}
|
}
|
||||||
if (bigEnoughToRender) {
|
if (bigEnoughToRender) {
|
||||||
outItems.push_back(ItemIDAndBounds(itemDetails.id, bound)); // One more Item to render
|
outItems.emplace_back(ItemIDAndBounds(itemDetails.id, bound)); // One more Item to render
|
||||||
} else {
|
} else {
|
||||||
renderDetails->_tooSmall++;
|
renderDetails->_tooSmall++;
|
||||||
}
|
}
|
||||||
|
@ -247,13 +247,14 @@ template <> void render::jobRun(const DrawOpaque& job, const SceneContextPointer
|
||||||
ItemIDsBounds inItems;
|
ItemIDsBounds inItems;
|
||||||
inItems.reserve(items.size());
|
inItems.reserve(items.size());
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.push_back(ItemIDAndBounds(id));
|
inItems.emplace_back(ItemIDAndBounds(id));
|
||||||
}
|
}
|
||||||
ItemIDsBounds& renderedItems = inItems;
|
ItemIDsBounds& renderedItems = inItems;
|
||||||
|
|
||||||
renderContext->_numFeedOpaqueItems = renderedItems.size();
|
renderContext->_numFeedOpaqueItems = renderedItems.size();
|
||||||
|
|
||||||
ItemIDsBounds culledItems;
|
ItemIDsBounds culledItems;
|
||||||
|
culledItems.reserve(inItems.size());
|
||||||
if (renderContext->_cullOpaque) {
|
if (renderContext->_cullOpaque) {
|
||||||
renderDetails.pointTo(RenderDetails::OPAQUE_ITEM);
|
renderDetails.pointTo(RenderDetails::OPAQUE_ITEM);
|
||||||
cullItems(sceneContext, renderContext, renderedItems, culledItems);
|
cullItems(sceneContext, renderContext, renderedItems, culledItems);
|
||||||
|
@ -265,6 +266,7 @@ template <> void render::jobRun(const DrawOpaque& job, const SceneContextPointer
|
||||||
|
|
||||||
|
|
||||||
ItemIDsBounds sortedItems;
|
ItemIDsBounds sortedItems;
|
||||||
|
sortedItems.reserve(culledItems.size());
|
||||||
if (renderContext->_sortOpaque) {
|
if (renderContext->_sortOpaque) {
|
||||||
depthSortItems(sceneContext, renderContext, true, renderedItems, sortedItems); // Sort Front to back opaque items!
|
depthSortItems(sceneContext, renderContext, true, renderedItems, sortedItems); // Sort Front to back opaque items!
|
||||||
renderedItems = sortedItems;
|
renderedItems = sortedItems;
|
||||||
|
@ -313,13 +315,14 @@ template <> void render::jobRun(const DrawTransparent& job, const SceneContextPo
|
||||||
ItemIDsBounds inItems;
|
ItemIDsBounds inItems;
|
||||||
inItems.reserve(items.size());
|
inItems.reserve(items.size());
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.push_back(id);
|
inItems.emplace_back(id);
|
||||||
}
|
}
|
||||||
ItemIDsBounds& renderedItems = inItems;
|
ItemIDsBounds& renderedItems = inItems;
|
||||||
|
|
||||||
renderContext->_numFeedTransparentItems = renderedItems.size();
|
renderContext->_numFeedTransparentItems = renderedItems.size();
|
||||||
|
|
||||||
ItemIDsBounds culledItems;
|
ItemIDsBounds culledItems;
|
||||||
|
culledItems.reserve(inItems.size());
|
||||||
if (renderContext->_cullTransparent) {
|
if (renderContext->_cullTransparent) {
|
||||||
renderDetails.pointTo(RenderDetails::TRANSLUCENT_ITEM);
|
renderDetails.pointTo(RenderDetails::TRANSLUCENT_ITEM);
|
||||||
cullItems(sceneContext, renderContext, inItems, culledItems);
|
cullItems(sceneContext, renderContext, inItems, culledItems);
|
||||||
|
@ -330,6 +333,7 @@ template <> void render::jobRun(const DrawTransparent& job, const SceneContextPo
|
||||||
renderContext->_numDrawnTransparentItems = renderedItems.size();
|
renderContext->_numDrawnTransparentItems = renderedItems.size();
|
||||||
|
|
||||||
ItemIDsBounds sortedItems;
|
ItemIDsBounds sortedItems;
|
||||||
|
sortedItems.reserve(culledItems.size());
|
||||||
if (renderContext->_sortTransparent) {
|
if (renderContext->_sortTransparent) {
|
||||||
depthSortItems(sceneContext, renderContext, false, renderedItems, sortedItems); // Sort Back to front transparent items!
|
depthSortItems(sceneContext, renderContext, false, renderedItems, sortedItems); // Sort Back to front transparent items!
|
||||||
renderedItems = sortedItems;
|
renderedItems = sortedItems;
|
||||||
|
@ -393,10 +397,11 @@ template <> void render::jobRun(const DrawLight& job, const SceneContextPointer&
|
||||||
ItemIDsBounds inItems;
|
ItemIDsBounds inItems;
|
||||||
inItems.reserve(items.size());
|
inItems.reserve(items.size());
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.push_back(id);
|
inItems.emplace_back(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemIDsBounds culledItems;
|
ItemIDsBounds culledItems;
|
||||||
|
culledItems.reserve(inItems.size());
|
||||||
cullItems(sceneContext, renderContext, inItems, culledItems);
|
cullItems(sceneContext, renderContext, inItems, culledItems);
|
||||||
|
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->args;
|
||||||
|
@ -420,7 +425,7 @@ template <> void render::jobRun(const DrawBackground& job, const SceneContextPoi
|
||||||
ItemIDsBounds inItems;
|
ItemIDsBounds inItems;
|
||||||
inItems.reserve(items.size());
|
inItems.reserve(items.size());
|
||||||
for (auto id : items) {
|
for (auto id : items) {
|
||||||
inItems.push_back(id);
|
inItems.emplace_back(id);
|
||||||
}
|
}
|
||||||
RenderArgs* args = renderContext->args;
|
RenderArgs* args = renderContext->args;
|
||||||
gpu::Batch batch;
|
gpu::Batch batch;
|
||||||
|
|
Loading…
Reference in a new issue