viewer#2780 Speed up terrain loading on teleport
Terrain was arriving and processing too late resulting in issues like "Lower terrain material incorrectly shown momentarily"master
parent
9bfdb7cf6c
commit
b84f3ff6b1
|
|
@ -4785,6 +4785,20 @@ void LLAppViewer::idle()
|
|||
|
||||
if (gTeleportDisplay)
|
||||
{
|
||||
if (gAgent.getTeleportState() == LLAgent::TELEPORT_ARRIVING)
|
||||
{
|
||||
// Teleported, but waiting for things to load, start processing surface data
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_NETWORK);
|
||||
gVLManager.unpackData();
|
||||
}
|
||||
{
|
||||
LL_RECORD_BLOCK_TIME(FTM_REGION_UPDATE);
|
||||
const F32 max_region_update_time = .001f; // 1ms
|
||||
LLWorld::getInstance()->updateRegions(max_region_update_time);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3147,7 +3147,8 @@ void send_agent_update(bool force_send, bool send_reliable)
|
|||
LL_PROFILE_ZONE_SCOPED;
|
||||
llassert(!gCubeSnapshot);
|
||||
|
||||
if (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE)
|
||||
if (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE
|
||||
&& gAgent.getTeleportState() != LLAgent::TELEPORT_ARRIVING)
|
||||
{
|
||||
// We don't care if they want to send an agent update, they're not allowed
|
||||
// until the target simulator is ready to receive them
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include "llviewertexturelist.h"
|
||||
|
||||
#include "llagent.h"
|
||||
#include "llgl.h" // fot gathering stats from GL
|
||||
#include "llimagegl.h"
|
||||
#include "llimagebmp.h"
|
||||
|
|
@ -815,10 +816,19 @@ void LLViewerTextureList::updateImages(F32 max_time)
|
|||
clearFetchingRequests();
|
||||
gPipeline.clearRebuildGroups();
|
||||
cleared = true;
|
||||
return;
|
||||
}
|
||||
// ARRIVING is a delay to let things decode, cache and process,
|
||||
// so process textures like normal despite gTeleportDisplay
|
||||
if (gAgent.getTeleportState() != LLAgent::TELEPORT_ARRIVING)
|
||||
{
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
cleared = false;
|
||||
else
|
||||
{
|
||||
cleared = false;
|
||||
}
|
||||
|
||||
LLAppViewer::getTextureFetch()->setTextureBandwidth((F32)LLTrace::get_frame_recording().getPeriodMeanPerSec(LLStatViewer::TEXTURE_NETWORK_DATA_RECEIVED).value());
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue