mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-08 14:38:08 +02:00
Merge commit 'ade58a52cc97fe06c2f4bb88c4b9d097636fd4b9' into avatar-mixer-scaling
This commit is contained in:
commit
262dbaf5ed
4 changed files with 8 additions and 2 deletions
|
@ -345,6 +345,7 @@ void AvatarMixerSlave::broadcastAvatarDataToAgent(const SharedNodePointer& node)
|
||||||
AvatarData::_avatarSortCoefficientSize,
|
AvatarData::_avatarSortCoefficientSize,
|
||||||
AvatarData::_avatarSortCoefficientCenter,
|
AvatarData::_avatarSortCoefficientCenter,
|
||||||
AvatarData::_avatarSortCoefficientAge);
|
AvatarData::_avatarSortCoefficientAge);
|
||||||
|
sortedAvatars.reserve(avatarsToSort.size());
|
||||||
|
|
||||||
// ignore or sort
|
// ignore or sort
|
||||||
for (const auto& avatar : avatarsToSort) {
|
for (const auto& avatar : avatarsToSort) {
|
||||||
|
|
|
@ -187,16 +187,17 @@ void AvatarManager::updateOtherAvatars(float deltaTime) {
|
||||||
AvatarSharedPointer _avatar;
|
AvatarSharedPointer _avatar;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
auto avatarMap = getHashCopy();
|
||||||
|
AvatarHash::iterator itr = avatarMap.begin();
|
||||||
|
|
||||||
const auto& views = qApp->getConicalViews();
|
const auto& views = qApp->getConicalViews();
|
||||||
PrioritySortUtil::PriorityQueue<SortableAvatar> sortedAvatars(views,
|
PrioritySortUtil::PriorityQueue<SortableAvatar> sortedAvatars(views,
|
||||||
AvatarData::_avatarSortCoefficientSize,
|
AvatarData::_avatarSortCoefficientSize,
|
||||||
AvatarData::_avatarSortCoefficientCenter,
|
AvatarData::_avatarSortCoefficientCenter,
|
||||||
AvatarData::_avatarSortCoefficientAge);
|
AvatarData::_avatarSortCoefficientAge);
|
||||||
|
sortedAvatars.reserve(avatarMap.size() - 1); // don't include MyAvatar
|
||||||
|
|
||||||
// sort
|
// sort
|
||||||
auto avatarMap = getHashCopy();
|
|
||||||
AvatarHash::iterator itr = avatarMap.begin();
|
|
||||||
while (itr != avatarMap.end()) {
|
while (itr != avatarMap.end()) {
|
||||||
const auto& avatar = std::static_pointer_cast<Avatar>(*itr);
|
const auto& avatar = std::static_pointer_cast<Avatar>(*itr);
|
||||||
// DO NOT update _myAvatar! Its update has already been done earlier in the main loop.
|
// DO NOT update _myAvatar! Its update has already been done earlier in the main loop.
|
||||||
|
|
|
@ -382,6 +382,7 @@ void EntityTreeRenderer::updateChangedEntities(const render::ScenePointer& scene
|
||||||
|
|
||||||
const auto& views = _viewState->getConicalViews();
|
const auto& views = _viewState->getConicalViews();
|
||||||
PrioritySortUtil::PriorityQueue<SortableRenderer> sortedRenderables(views);
|
PrioritySortUtil::PriorityQueue<SortableRenderer> sortedRenderables(views);
|
||||||
|
sortedRenderables.reserve(_renderablesToUpdate.size());
|
||||||
{
|
{
|
||||||
PROFILE_RANGE_EX(simulation_physics, "SortRenderables", 0xffff00ff, (uint64_t)_renderablesToUpdate.size());
|
PROFILE_RANGE_EX(simulation_physics, "SortRenderables", 0xffff00ff, (uint64_t)_renderablesToUpdate.size());
|
||||||
std::unordered_map<EntityItemID, EntityRendererPointer>::iterator itr = _renderablesToUpdate.begin();
|
std::unordered_map<EntityItemID, EntityRendererPointer>::iterator itr = _renderablesToUpdate.begin();
|
||||||
|
|
|
@ -102,6 +102,9 @@ namespace PrioritySortUtil {
|
||||||
thing.setPriority(computePriority(thing));
|
thing.setPriority(computePriority(thing));
|
||||||
_vector.push_back(thing);
|
_vector.push_back(thing);
|
||||||
}
|
}
|
||||||
|
void reserve(size_t num) {
|
||||||
|
_vector.reserve(num);
|
||||||
|
}
|
||||||
const std::vector<T>& getSortedVector() {
|
const std::vector<T>& getSortedVector() {
|
||||||
std::sort(_vector.begin(), _vector.end(), [](const T& left, const T& right) { return left.getPriority() > right.getPriority(); });
|
std::sort(_vector.begin(), _vector.end(), [](const T& left, const T& right) { return left.getPriority() > right.getPriority(); });
|
||||||
return _vector;
|
return _vector;
|
||||||
|
|
Loading…
Reference in a new issue