Browse Source

optimized run time

lakebane-ai
FatBoy-DOTC 3 weeks ago
parent
commit
93a975dd42
  1. 3
      src/engine/gameManager/PowersManager.java
  2. 2
      src/engine/gameManager/SimulationManager.java
  3. 2
      src/engine/job/JobWorker.java
  4. 6
      src/engine/objects/PlayerCharacter.java
  5. 4
      src/engine/server/world/WorldServer.java
  6. 15
      src/engine/workthreads/UpdateThread.java

3
src/engine/gameManager/PowersManager.java

@ -166,6 +166,9 @@ public enum PowersManager {
PlayerCharacter pc = SessionManager.getPlayerCharacter(origin); PlayerCharacter pc = SessionManager.getPlayerCharacter(origin);
if(pc == null)
return;
if(!pc.isFlying() && powersBaseByToken.get(msg.getPowerUsedID()) != null && powersBaseByToken.get(msg.getPowerUsedID()).isSpell) //cant be sitting if flying if(!pc.isFlying() && powersBaseByToken.get(msg.getPowerUsedID()) != null && powersBaseByToken.get(msg.getPowerUsedID()).isSpell) //cant be sitting if flying
CombatManager.toggleSit(false,origin); CombatManager.toggleSit(false,origin);

2
src/engine/gameManager/SimulationManager.java

@ -158,7 +158,7 @@ public enum SimulationManager {
if (player == null) if (player == null)
continue; continue;
try { try {
player.update(true); player.update(false);
}catch(Exception e){ }catch(Exception e){
} }

2
src/engine/job/JobWorker.java

@ -61,7 +61,7 @@ public class JobWorker extends ControlledRunnable {
this.currentJob.executeJob(this.getThreadName()); this.currentJob.executeJob(this.getThreadName());
this.currentJob = null; this.currentJob = null;
} }
Thread.yield();
} }
return true; return true;
} }

6
src/engine/objects/PlayerCharacter.java

@ -5110,12 +5110,12 @@ public class PlayerCharacter extends AbstractCharacter {
@Override @Override
public void update(Boolean newSystem) { public void update(Boolean newSystem) {
this.updateLocation();
this.updateMovementState();
if(!newSystem) if(!newSystem)
return; return;
this.updateLocation();
this.updateMovementState();
try { try {
if (this.updateLock.writeLock().tryLock()) { if (this.updateLock.writeLock().tryLock()) {

4
src/engine/server/world/WorldServer.java

@ -517,8 +517,8 @@ public class WorldServer {
Logger.info("Starting Bane Thread"); Logger.info("Starting Bane Thread");
BaneThread.startBaneThread(); BaneThread.startBaneThread();
//Logger.info("Starting Player Regen Thread"); Logger.info("Starting Player Update Thread");
//UpdateThread.startUpdateThread(); UpdateThread.startUpdateThread();
printThreads(); printThreads();

15
src/engine/workthreads/UpdateThread.java

@ -32,18 +32,7 @@ public class UpdateThread implements Runnable {
try { try {
for(PlayerCharacter player : SessionManager.getAllActivePlayerCharacters()){ for(PlayerCharacter player : SessionManager.getAllActivePlayerCharacters()){
if (player != null) { if (player != null) {
player.doRegen(); player.update(true);
try {
if (player.isAlive() && player.isActive() && player.isEnteredWorld()) {
if (player.combatStats == null) {
player.combatStats = new PlayerCombatStats(player);
}
PlayerCombatStats cStats = player.combatStats;
cStats.update();
}
}catch(Exception e){
}
} }
} }
} catch (Exception e) { } catch (Exception e) {
@ -61,7 +50,7 @@ public class UpdateThread implements Runnable {
lastRun = System.currentTimeMillis(); // Update lastRun after processing lastRun = System.currentTimeMillis(); // Update lastRun after processing
}else { }else {
try { try {
Thread.sleep(100); // Pause for 10ms to reduce CPU usage Thread.sleep(100); // Pause for 100ms to reduce CPU usage
} catch (InterruptedException e) { } catch (InterruptedException e) {
Logger.error("Thread interrupted", e); Logger.error("Thread interrupted", e);
Thread.currentThread().interrupt(); Thread.currentThread().interrupt();

Loading…
Cancel
Save