loading display work
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
3f401dfde3
commit
2d20e2d389
@ -2046,6 +2046,7 @@ Farm plots properly save/load to/from disk
|
||||
Farm plots place dirt
|
||||
Farmland voxel type
|
||||
Farm plots place farmland
|
||||
More verbose loading display
|
||||
|
||||
|
||||
|
||||
|
||||
@ -117,6 +117,26 @@ public class ClientBlockCellManager {
|
||||
*/
|
||||
boolean initialized = false;
|
||||
|
||||
/**
|
||||
* The number of cells waiting on the network
|
||||
*/
|
||||
private int waitingOnNetworkCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that triggered a model generation last frame
|
||||
*/
|
||||
private int generationLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that either split or joined last frame
|
||||
*/
|
||||
private int partitionLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that triggered a request last frame
|
||||
*/
|
||||
private int requestLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param voxelTextureAtlas The voxel texture atlas
|
||||
@ -138,6 +158,11 @@ public class ClientBlockCellManager {
|
||||
public void update(){
|
||||
Globals.profiler.beginCpuSample("ClientBlockCellManager.update");
|
||||
if(shouldUpdate && Globals.clientState.playerEntity != null){
|
||||
//reset tracking
|
||||
this.waitingOnNetworkCount = 0;
|
||||
this.generationLastFrameCount = 0;
|
||||
this.partitionLastFrameCount = 0;
|
||||
this.requestLastFrameCount = 0;
|
||||
Vector3d playerPos = EntityUtils.getPosition(Globals.clientState.playerEntity);
|
||||
Vector3i playerWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(playerPos);
|
||||
int distCache = this.getDistCache(this.lastPlayerPos, playerWorldPos);
|
||||
@ -209,6 +234,9 @@ public class ClientBlockCellManager {
|
||||
|
||||
//update neighbors
|
||||
this.conditionalUpdateAdjacentNodes(container, container.getChildren().get(0).getLevel());
|
||||
|
||||
//update tracking
|
||||
this.partitionLastFrameCount++;
|
||||
|
||||
Globals.profiler.endCpuSample();
|
||||
updated = true;
|
||||
@ -222,6 +250,9 @@ public class ClientBlockCellManager {
|
||||
cell.setHasRequested(true);
|
||||
}
|
||||
evaluationMap.put(node,true);
|
||||
|
||||
//update tracking
|
||||
this.requestLastFrameCount++;
|
||||
|
||||
Globals.profiler.endCpuSample();
|
||||
updated = true;
|
||||
@ -234,11 +265,14 @@ public class ClientBlockCellManager {
|
||||
if(node.getData().getFailedGenerationAttempts() > FAILED_GENERATION_ATTEMPT_THRESHOLD){
|
||||
node.getData().setHasRequested(false);
|
||||
}
|
||||
this.requestLastFrameCount++;
|
||||
} else if(node.getData() != null){
|
||||
this.waitingOnNetworkCount++;
|
||||
node.getData().setFailedGenerationAttempts(node.getData().getFailedGenerationAttempts() + 1);
|
||||
if(node.getData().getFailedGenerationAttempts() > FAILED_GENERATION_ATTEMPT_THRESHOLD){
|
||||
node.getData().setHasRequested(false);
|
||||
}
|
||||
this.generationLastFrameCount++;
|
||||
}
|
||||
evaluationMap.put(node,true);
|
||||
Globals.profiler.endCpuSample();
|
||||
@ -247,6 +281,7 @@ public class ClientBlockCellManager {
|
||||
} else {
|
||||
if(this.shouldJoin(playerPos, node, distCache)) {
|
||||
this.join(node);
|
||||
this.partitionLastFrameCount++;
|
||||
updated = true;
|
||||
} else {
|
||||
this.validCellCount++;
|
||||
@ -865,6 +900,38 @@ public class ClientBlockCellManager {
|
||||
return this.chunkTree.getNodeCount();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that are waiting on the network
|
||||
* @return The number of cells that are waiting on the network
|
||||
*/
|
||||
public int getWaitingOnNetworkCount(){
|
||||
return this.waitingOnNetworkCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered a model generation last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getGenerationLastFrameCount(){
|
||||
return this.generationLastFrameCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered an octree split/join last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getPartitionLastFrameCount(){
|
||||
return this.partitionLastFrameCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered a terrain data request last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getRequestLastFrameCount(){
|
||||
return this.requestLastFrameCount;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ public class ClientCharacterManager {
|
||||
/**
|
||||
* The list of characters available
|
||||
*/
|
||||
ClientCharacterListDTO characterList;
|
||||
private ClientCharacterListDTO characterList;
|
||||
|
||||
/**
|
||||
* Tracks whether we're waiting on the character list or not
|
||||
|
||||
@ -152,6 +152,26 @@ public class ClientDrawCellManager {
|
||||
*/
|
||||
boolean bustDistCache = false;
|
||||
|
||||
/**
|
||||
* The number of cells waiting on the network
|
||||
*/
|
||||
private int waitingOnNetworkCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that triggered a model generation last frame
|
||||
*/
|
||||
private int generationLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that either split or joined last frame
|
||||
*/
|
||||
private int partitionLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* The number of cells that triggered a request last frame
|
||||
*/
|
||||
private int requestLastFrameCount = 0;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* @param voxelTextureAtlas The voxel texture atlas
|
||||
@ -173,6 +193,11 @@ public class ClientDrawCellManager {
|
||||
public void update(){
|
||||
Globals.profiler.beginCpuSample("ClientDrawCellManager.update");
|
||||
if(shouldUpdate && Globals.clientState.playerEntity != null){
|
||||
//reset tracking
|
||||
this.waitingOnNetworkCount = 0;
|
||||
this.generationLastFrameCount = 0;
|
||||
this.partitionLastFrameCount = 0;
|
||||
this.requestLastFrameCount = 0;
|
||||
Vector3d playerPos = EntityUtils.getPosition(Globals.clientState.playerEntity);
|
||||
Vector3i playerWorldPos = Globals.clientState.clientWorldData.convertRealToWorldSpace(playerPos);
|
||||
int distCache = this.getDistCache(this.lastPlayerPos, playerWorldPos);
|
||||
@ -248,6 +273,9 @@ public class ClientDrawCellManager {
|
||||
|
||||
//update neighbors
|
||||
this.conditionalUpdateAdjacentNodes(container, container.getChildren().get(0).getLevel());
|
||||
|
||||
//update tracking
|
||||
this.partitionLastFrameCount++;
|
||||
|
||||
Globals.profiler.endCpuSample();
|
||||
updated = true;
|
||||
@ -267,6 +295,9 @@ public class ClientDrawCellManager {
|
||||
}
|
||||
evaluationMap.put(node,true);
|
||||
|
||||
//update tracking
|
||||
this.requestLastFrameCount++;
|
||||
|
||||
Globals.profiler.endCpuSample();
|
||||
updated = true;
|
||||
} else if(this.shouldGenerate(playerPos, node, minLeafLod, distCache)){
|
||||
@ -284,11 +315,13 @@ public class ClientDrawCellManager {
|
||||
if(node.getData().getFailedGenerationAttempts() > FAILED_GENERATION_ATTEMPT_THRESHOLD){
|
||||
node.getData().setHasRequested(false);
|
||||
}
|
||||
this.generationLastFrameCount++;
|
||||
} else if(node.getData() != null){
|
||||
node.getData().setFailedGenerationAttempts(node.getData().getFailedGenerationAttempts() + 1);
|
||||
if(node.getData().getFailedGenerationAttempts() > FAILED_GENERATION_ATTEMPT_THRESHOLD){
|
||||
node.getData().setHasRequested(false);
|
||||
}
|
||||
this.waitingOnNetworkCount++;
|
||||
}
|
||||
evaluationMap.put(node,true);
|
||||
Globals.profiler.endCpuSample();
|
||||
@ -300,6 +333,7 @@ public class ClientDrawCellManager {
|
||||
System.out.println("Joining target node");
|
||||
}
|
||||
this.join(node);
|
||||
this.partitionLastFrameCount++;
|
||||
updated = true;
|
||||
} else {
|
||||
this.validCellCount++;
|
||||
@ -1100,6 +1134,37 @@ public class ClientDrawCellManager {
|
||||
this.bustDistCache = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that are waiting on the network
|
||||
* @return The number of cells that are waiting on the network
|
||||
*/
|
||||
public int getWaitingOnNetworkCount(){
|
||||
return this.waitingOnNetworkCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered a model generation last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getGenerationLastFrameCount(){
|
||||
return this.generationLastFrameCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered an octree split/join last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getPartitionLastFrameCount(){
|
||||
return this.partitionLastFrameCount;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the number of cells that triggered a terrain data request last frame
|
||||
* @return The number of cells
|
||||
*/
|
||||
public int getRequestLastFrameCount(){
|
||||
return this.requestLastFrameCount;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -66,7 +66,7 @@ public class ClientLoading {
|
||||
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_MENU_MAIN), false);
|
||||
WindowUtils.replaceMainMenuContents(MenuGenerators.createEmptyMainMenu());
|
||||
WindowUtils.recursiveSetVisible(Globals.elementService.getWindow(WindowStrings.WINDOW_LOADING), true);
|
||||
WindowUtils.updateLoadingWindow("Waiting on server");
|
||||
WindowUtils.updateLoadingWindow("WAITING ON SERVER");
|
||||
//disable menu input
|
||||
Globals.controlHandler.hintUpdateControlState(ControlHandler.ControlsState.NO_INPUT);
|
||||
//initialize the client thread (client)
|
||||
@ -76,26 +76,22 @@ public class ClientLoading {
|
||||
ClientLoading.initClientThread();
|
||||
}
|
||||
//while we don't know what races are playable, wait
|
||||
WindowUtils.updateLoadingWindow("Waiting on lore");
|
||||
WindowUtils.updateLoadingWindow("WAITING ON LORE");
|
||||
int framesWaited = 0;
|
||||
while(Globals.gameConfigCurrent.getCreatureTypeLoader().getPlayableRaces().size() == 0){
|
||||
if(framesWaited % LORE_RESEND_FRAMES == (LORE_RESEND_FRAMES - 1)){
|
||||
//request playable races
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage());
|
||||
//request characters available to this player
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage());
|
||||
}
|
||||
try {
|
||||
TimeUnit.MILLISECONDS.sleep(5);
|
||||
} catch (InterruptedException ex) {}
|
||||
framesWaited++;
|
||||
}
|
||||
WindowUtils.updateLoadingWindow("Waiting on characters");
|
||||
WindowUtils.updateLoadingWindow("WAITING ON CHARACTERS");
|
||||
framesWaited = 0;
|
||||
while(Globals.clientState.clientCharacterManager.isWaitingOnList()){
|
||||
if(framesWaited % LORE_RESEND_FRAMES == (LORE_RESEND_FRAMES - 1)){
|
||||
//request playable races
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(LoreMessage.constructRequestRacesMessage());
|
||||
//request characters available to this player
|
||||
Globals.clientState.clientConnection.queueOutgoingMessage(CharacterMessage.constructRequestCharacterListMessage());
|
||||
}
|
||||
@ -366,7 +362,12 @@ public class ClientLoading {
|
||||
){
|
||||
i++;
|
||||
if(i % DRAW_CELL_UPDATE_RATE == 0){
|
||||
WindowUtils.updateLoadingWindow("WAITING ON SERVER TO SEND TERRAIN (" + Globals.clientState.clientTerrainManager.getAllChunks().size() + ")");
|
||||
WindowUtils.updateLoadingWindow("WAITING ON SERVER TO SEND TERRAIN (" +
|
||||
Globals.clientState.clientDrawCellManager.getWaitingOnNetworkCount() + "/" +
|
||||
Globals.clientState.clientDrawCellManager.getPartitionLastFrameCount() + "/" +
|
||||
Globals.clientState.clientDrawCellManager.getRequestLastFrameCount() + "/" +
|
||||
Globals.clientState.clientDrawCellManager.getGenerationLastFrameCount() +
|
||||
")");
|
||||
}
|
||||
try {
|
||||
TimeUnit.MILLISECONDS.sleep(10);
|
||||
@ -450,7 +451,12 @@ public class ClientLoading {
|
||||
){
|
||||
i++;
|
||||
if(i % DRAW_CELL_UPDATE_RATE == 0){
|
||||
WindowUtils.updateLoadingWindow("WAITING ON SERVER TO SEND BLOCKS (" + Globals.clientState.clientTerrainManager.getAllChunks().size() + ")");
|
||||
WindowUtils.updateLoadingWindow("WAITING ON SERVER TO SEND BLOCKS (" +
|
||||
Globals.clientState.clientBlockCellManager.getWaitingOnNetworkCount() + "/" +
|
||||
Globals.clientState.clientBlockCellManager.getPartitionLastFrameCount() + "/" +
|
||||
Globals.clientState.clientBlockCellManager.getRequestLastFrameCount() + "/" +
|
||||
Globals.clientState.clientBlockCellManager.getGenerationLastFrameCount() +
|
||||
")");
|
||||
}
|
||||
try {
|
||||
TimeUnit.MILLISECONDS.sleep(10);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user