Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
Alchemy Viewer
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Deploy
Releases
Package registry
Operate
Terraform modules
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Silent mode is enabled
All outbound communications are blocked.
Learn more
.
Show more breadcrumbs
Alchemy Viewer
Alchemy Viewer
Commits
e05f3037
Commit
e05f3037
authored
4 years ago
by
Rye Mutt
Browse files
Options
Downloads
Patches
Plain Diff
Cleanup and perf opts to LLWorld
parent
1aa62ceb
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
indra/newview/llworld.cpp
+28
-60
28 additions, 60 deletions
indra/newview/llworld.cpp
with
28 additions
and
60 deletions
indra/newview/llworld.cpp
+
28
−
60
View file @
e05f3037
...
...
@@ -258,10 +258,8 @@ void LLWorld::removeRegion(const LLHost &host)
if
(
regionp
==
gAgent
.
getRegion
())
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
reg
:
mRegionList
)
{
LLViewerRegion
*
reg
=
*
iter
;
LL_WARNS
()
<<
"RegionDump: "
<<
reg
->
getName
()
<<
" "
<<
reg
->
getHost
()
<<
" "
<<
reg
->
getOriginGlobal
()
...
...
@@ -305,10 +303,8 @@ void LLWorld::removeRegion(const LLHost &host)
LLViewerRegion
*
LLWorld
::
getRegion
(
const
LLHost
&
host
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
->
getHost
()
==
host
)
{
return
regionp
;
...
...
@@ -324,10 +320,8 @@ LLViewerRegion* LLWorld::getRegionFromPosAgent(const LLVector3 &pos)
LLViewerRegion
*
LLWorld
::
getRegionFromPosGlobal
(
const
LLVector3d
&
pos
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
->
pointInRegionGlobal
(
pos
))
{
return
regionp
;
...
...
@@ -402,16 +396,14 @@ LLVector3d LLWorld::clipToVisibleRegions(const LLVector3d &start_pos, const LLVe
final_region_pos
.
mdV
[
VY
]
=
llclamp
(
final_region_pos
.
mdV
[
VY
],
0.0
,
(
F64
)(
region_width
-
F_ALMOST_ZERO
));
final_region_pos
.
mdV
[
VZ
]
=
llclamp
(
final_region_pos
.
mdV
[
VZ
],
0.0
,
(
F64
)(
LLWorld
::
getInstance
()
->
getRegionMaxHeight
()
-
F_ALMOST_ZERO
));
(
F64
)(
getRegionMaxHeight
()
-
F_ALMOST_ZERO
));
return
regionp
->
getPosGlobalFromRegion
(
LLVector3
(
final_region_pos
));
}
LLViewerRegion
*
LLWorld
::
getRegionFromHandle
(
const
U64
&
handle
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
->
getHandle
()
==
handle
)
{
return
regionp
;
...
...
@@ -422,10 +414,8 @@ LLViewerRegion* LLWorld::getRegionFromHandle(const U64 &handle)
LLViewerRegion
*
LLWorld
::
getRegionFromID
(
const
LLUUID
&
region_id
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
->
getRegionID
()
==
region_id
)
{
return
regionp
;
...
...
@@ -437,10 +427,8 @@ LLViewerRegion* LLWorld::getRegionFromID(const LLUUID& region_id)
void
LLWorld
::
updateAgentOffset
(
const
LLVector3d
&
offset_global
)
{
#if 0
for (region_list_t::iterator iter = mRegionList.begin();
iter != mRegionList.end(); ++iter)
for (LLViewerRegion* regionp : mRegionList)
{
LLViewerRegion* regionp = *iter;
regionp->setAgentOffset(offset_global);
}
#endif
...
...
@@ -449,10 +437,8 @@ void LLWorld::updateAgentOffset(const LLVector3d &offset_global)
BOOL
LLWorld
::
positionRegionValidGlobal
(
const
LLVector3d
&
pos_global
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
->
pointInRegionGlobal
(
pos_global
))
{
return
TRUE
;
...
...
@@ -704,10 +690,8 @@ void LLWorld::updateRegions(F32 max_update_time)
//sort regions by its mLastUpdate
//smaller mLastUpdate first to make sure every region has chance to get updated.
LLViewerRegion
::
region_priority_list_t
region_list
;
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
!=
self_regionp
)
{
region_list
.
insert
(
regionp
);
...
...
@@ -716,8 +700,7 @@ void LLWorld::updateRegions(F32 max_update_time)
}
// Perform idle time updates for the regions (and associated surfaces)
for
(
LLViewerRegion
::
region_priority_list_t
::
iterator
iter
=
region_list
.
begin
();
iter
!=
region_list
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
region_list
)
{
if
(
max_time
>
0.
f
)
{
...
...
@@ -726,12 +709,12 @@ void LLWorld::updateRegions(F32 max_update_time)
if
(
max_time
>
0.
f
)
{
(
*
iter
)
->
idleUpdate
(
max_time
);
regionp
->
idleUpdate
(
max_time
);
}
else
{
//perform some necessary but very light updates.
(
*
iter
)
->
lightIdleUpdate
();
regionp
->
lightIdleUpdate
();
}
}
...
...
@@ -773,10 +756,8 @@ void LLWorld::updateNetStats()
F64Bits
bits
;
U32
packets
=
0
;
for
(
region_list_t
::
iterator
iter
=
mActiveRegionList
.
begin
();
iter
!=
mActiveRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mActiveRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
regionp
->
updateNetStats
();
bits
+=
regionp
->
mBitsReceived
;
packets
+=
llfloor
(
regionp
->
mPacketsReceived
);
...
...
@@ -817,10 +798,8 @@ void LLWorld::printPacketsLost()
LL_INFOS
()
<<
"----------"
<<
LL_ENDL
;
LLCircuitData
*
cdp
=
NULL
;
for
(
region_list_t
::
iterator
iter
=
mActiveRegionList
.
begin
();
iter
!=
mActiveRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mActiveRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
cdp
=
gMessageSystem
->
mCircuitInfo
.
findCircuit
(
regionp
->
getHost
());
if
(
cdp
)
{
...
...
@@ -865,11 +844,11 @@ void LLWorld::setLandFarClip(const F32 far_clip)
// a (possibly) new water height. Update it in our local copy.
void
LLWorld
::
waterHeightRegionInfo
(
std
::
string
const
&
sim_name
,
F32
water_height
)
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
if
(
(
*
iter
)
->
getName
()
==
sim_name
)
if
(
regionp
->
getName
()
==
sim_name
)
{
(
*
iter
)
->
setWaterHeight
(
water_height
);
regionp
->
setWaterHeight
(
water_height
);
break
;
}
}
...
...
@@ -888,10 +867,8 @@ void LLWorld::precullWaterObjects(LLCamera& camera, LLCullResult* cull, bool inc
return
;
}
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
LLVOWater
*
waterp
=
regionp
->
getLand
().
getWaterObj
();
if
(
waterp
&&
waterp
->
mDrawable
)
{
...
...
@@ -958,10 +935,8 @@ void LLWorld::updateWaterObjects()
max_x
=
(
S32
)
region_x
+
range
;
max_y
=
(
S32
)
region_y
+
range
;
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
LLVOWater
*
waterp
=
regionp
->
getLand
().
getWaterObj
();
if
(
waterp
)
{
...
...
@@ -1070,9 +1045,8 @@ void LLWorld::updateWaterObjects()
void
LLWorld
::
shiftRegions
(
const
LLVector3
&
offset
)
{
for
(
region_list_t
::
const_iterator
i
=
getRegionList
().
begin
();
i
!=
getRegionList
()
.
end
();
++
i
)
for
(
LLViewerRegion
*
region
:
getRegionList
())
{
LLViewerRegion
*
region
=
*
i
;
region
->
updateRenderMatrix
();
}
...
...
@@ -1096,10 +1070,8 @@ U64MicrosecondsImplicit LLWorld::getSpaceTimeUSec() const
void
LLWorld
::
requestCacheMisses
()
{
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
regionp
->
requestCacheMisses
();
}
}
...
...
@@ -1107,10 +1079,8 @@ void LLWorld::requestCacheMisses()
void
LLWorld
::
getInfo
(
LLSD
&
info
)
{
LLSD
region_info
;
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
{
LLViewerRegion
*
regionp
=
*
iter
;
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
regionp
->
getInfo
(
region_info
);
info
[
"World"
].
append
(
region_info
);
}
...
...
@@ -1119,10 +1089,8 @@ void LLWorld::getInfo(LLSD& info)
void
LLWorld
::
disconnectRegions
()
{
LLMessageSystem
*
msg
=
gMessageSystem
;
for
(
region_list_t
::
iterator
iter
=
mRegionList
.
begin
();
iter
!=
mRegionList
.
end
();
++
iter
)
for
(
LLViewerRegion
*
regionp
:
mRegionList
)
{
LLViewerRegion
*
regionp
=
*
iter
;
if
(
regionp
==
gAgent
.
getRegion
())
{
// Skip the main agent
...
...
@@ -1352,7 +1320,7 @@ void LLWorld::getAvatars(uuid_vec_t* avatar_ids, std::vector<LLVector3d>* positi
}
}
// region avatars added for situations where radius is greater than RenderFarClip
for
(
LLViewerRegion
*
regionp
:
LLWorld
::
getInstance
()
->
getRegionList
())
for
(
LLViewerRegion
*
regionp
:
getRegionList
())
{
const
LLVector3d
&
origin_global
=
regionp
->
getOriginGlobal
();
S32
count
=
regionp
->
mMapAvatars
.
size
();
...
...
@@ -1404,7 +1372,7 @@ void LLWorld::getAvatars(pos_map_t* umap, const LLVector3d& relative_to, F32 rad
}
}
// region avatars added for situations where radius is greater than RenderFarClip
for
(
LLViewerRegion
*
regionp
:
LLWorld
::
getInstance
()
->
getRegionList
())
for
(
LLViewerRegion
*
regionp
:
getRegionList
())
{
const
LLVector3d
&
origin_global
=
regionp
->
getOriginGlobal
();
S32
count
=
regionp
->
mMapAvatars
.
size
();
...
...
@@ -1451,7 +1419,7 @@ void LLWorld::getAvatars(region_gpos_map_t* umap, const LLVector3d& relative_to,
}
}
// region avatars added for situations where radius is greater than RenderFarClip
for
(
LLViewerRegion
*
regionp
:
LLWorld
::
getInstance
()
->
getRegionList
())
for
(
LLViewerRegion
*
regionp
:
getRegionList
())
{
const
LLVector3d
&
origin_global
=
regionp
->
getOriginGlobal
();
size_t
count
=
regionp
->
mMapAvatars
.
size
();
...
...
@@ -1482,7 +1450,7 @@ bool LLWorld::getAvatar(const LLUUID& idAvatar, LLVector3d& posAvatar) const
}
}
for
(
const
LLViewerRegion
*
pRegion
:
LLWorld
::
getInstance
()
->
getRegionList
())
for
(
const
LLViewerRegion
*
pRegion
:
getRegionList
())
{
for
(
S32
idxAgent
=
0
,
cntAgent
=
pRegion
->
mMapAvatarIDs
.
size
();
idxAgent
<
cntAgent
;
++
idxAgent
)
{
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment