Removed unnecessary synchronized() blocks

This commit is contained in:
Anuken
2018-11-11 11:12:54 -05:00
parent 65a48b324d
commit 2d1a97e042
10 changed files with 232 additions and 278 deletions

View File

@@ -106,32 +106,29 @@ public class BlockRenderer{
for(int x = minx; x <= maxx; x++){
for(int y = miny; y <= maxy; y++){
boolean expanded = (Math.abs(x - avgx) > rangex || Math.abs(y - avgy) > rangey);
Tile tile = world.rawTile(x, y);
synchronized(Tile.tileSetLock){
Tile tile = world.rawTile(x, y);
if(tile != null){
Block block = tile.block();
Team team = tile.getTeam();
if(tile != null){
Block block = tile.block();
Team team = tile.getTeam();
if(!expanded && block != Blocks.air && world.isAccessible(x, y)){
tile.block().drawShadow(tile);
}
if(!expanded && block != Blocks.air && world.isAccessible(x, y)){
tile.block().drawShadow(tile);
if(block != Blocks.air){
if(!expanded){
addRequest(tile, Layer.block);
teamChecks.add(team.ordinal());
}
if(block != Blocks.air){
if(!expanded){
addRequest(tile, Layer.block);
teamChecks.add(team.ordinal());
if(block.expanded || !expanded){
if(block.layer != null && block.isLayer(tile)){
addRequest(tile, block.layer);
}
if(block.expanded || !expanded){
if(block.layer != null && block.isLayer(tile)){
addRequest(tile, block.layer);
}
if(block.layer2 != null && block.isLayer2(tile)){
addRequest(tile, block.layer2);
}
if(block.layer2 != null && block.isLayer2(tile)){
addRequest(tile, block.layer2);
}
}
}
@@ -171,16 +168,14 @@ public class BlockRenderer{
layerBegins(req.layer);
}
synchronized(Tile.tileSetLock){
Block block = req.tile.block();
Block block = req.tile.block();
if(req.layer == Layer.block){
block.draw(req.tile);
}else if(req.layer == block.layer){
block.drawLayer(req.tile);
}else if(req.layer == block.layer2){
block.drawLayer2(req.tile);
}
if(req.layer == Layer.block){
block.draw(req.tile);
}else if(req.layer == block.layer){
block.drawLayer(req.tile);
}else if(req.layer == block.layer2){
block.drawLayer2(req.tile);
}
lastLayer = req.layer;
@@ -199,17 +194,16 @@ public class BlockRenderer{
BlockRequest req = requests.get(index);
if(req.tile.getTeam() != team) continue;
synchronized(Tile.tileSetLock){
Block block = req.tile.block();
Block block = req.tile.block();
if(req.layer == Layer.block){
block.draw(req.tile);
}else if(req.layer == block.layer){
block.drawLayer(req.tile);
}else if(req.layer == block.layer2){
block.drawLayer2(req.tile);
}
if(req.layer == Layer.block){
block.draw(req.tile);
}else if(req.layer == block.layer){
block.drawLayer(req.tile);
}else if(req.layer == block.layer2){
block.drawLayer2(req.tile);
}
}
}

View File

@@ -74,20 +74,18 @@ public class MinimapRenderer implements Disposable{
dx = Mathf.clamp(dx, sz, world.width() - sz);
dy = Mathf.clamp(dy, sz, world.height() - sz);
synchronized(units){
rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize);
Graphics.beginClip(x, y, w, h);
rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize);
Graphics.beginClip(x, y, w, h);
for(Unit unit : units){
float rx = (unit.x - rect.x) / rect.width * w, ry = (unit.y - rect.y) / rect.width * h;
Draw.color(unit.getTeam().color);
Draw.rect("white", x + rx, y + ry, w / (sz * 2), h / (sz * 2));
}
Draw.color();
Graphics.endClip();
for(Unit unit : units){
float rx = (unit.x - rect.x) / rect.width * w, ry = (unit.y - rect.y) / rect.width * h;
Draw.color(unit.getTeam().color);
Draw.rect("white", x + rx, y + ry, w / (sz * 2), h / (sz * 2));
}
Draw.color();
Graphics.endClip();
}
public TextureRegion getRegion(){
@@ -128,11 +126,9 @@ public class MinimapRenderer implements Disposable{
dx = Mathf.clamp(dx, sz, world.width() - sz);
dy = Mathf.clamp(dy, sz, world.height() - sz);
synchronized(units){
rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize);
units.clear();
Units.getNearby(rect, units::add);
}
rect.set((dx - sz) * tilesize, (dy - sz) * tilesize, sz * 2 * tilesize, sz * 2 * tilesize);
units.clear();
Units.getNearby(rect, units::add);
}
private int colorFor(Tile tile){

View File

@@ -53,10 +53,7 @@ public class OverlayRenderer{
//draw config selected block
if(input.frag.config.isShown()){
Tile tile = input.frag.config.getSelectedTile();
synchronized(Tile.tileSetLock){
tile.block().drawConfigure(tile);
}
tile.block().drawConfigure(tile);
}
input.drawTop();
@@ -113,53 +110,52 @@ public class OverlayRenderer{
Draw.reset();
}
synchronized(Tile.tileSetLock){
Block block = target.block();
TileEntity entity = target.entity;
Block block = target.block();
TileEntity entity = target.entity;
if(entity != null){
int[] values = {0, 0};
boolean[] doDraw = {false};
if(entity != null){
int[] values = {0, 0};
boolean[] doDraw = {false};
Runnable drawbars = () -> {
for(BlockBar bar : block.bars.list()){
float offset = Mathf.sign(bar.top) * (block.size / 2f * tilesize + 2f + (bar.top ? values[0] : values[1]));
Runnable drawbars = () -> {
for(BlockBar bar : block.bars.list()){
float offset = Mathf.sign(bar.top) * (block.size / 2f * tilesize + 2f + (bar.top ? values[0] : values[1]));
float value = bar.value.get(target);
float value = bar.value.get(target);
if(MathUtils.isEqual(value, -1f)) continue;
if(MathUtils.isEqual(value, -1f)) continue;
if(doDraw[0]){
drawBar(bar.type.color, target.drawx(), target.drawy() + offset, value);
}
if(bar.top)
values[0]++;
else
values[1]++;
if(doDraw[0]){
drawBar(bar.type.color, target.drawx(), target.drawy() + offset, value);
}
};
drawbars.run();
if(values[0] > 0){
drawEncloser(target.drawx(), target.drawy() + block.size * tilesize / 2f + 2f, values[0]);
if(bar.top)
values[0]++;
else
values[1]++;
}
};
if(values[1] > 0){
drawEncloser(target.drawx(), target.drawy() - block.size * tilesize / 2f - 2f - values[1], values[1]);
}
drawbars.run();
doDraw[0] = true;
values[0] = 0;
values[1] = 1;
drawbars.run();
if(values[0] > 0){
drawEncloser(target.drawx(), target.drawy() + block.size * tilesize / 2f + 2f, values[0]);
}
if(values[1] > 0){
drawEncloser(target.drawx(), target.drawy() - block.size * tilesize / 2f - 2f - values[1], values[1]);
}
target.block().drawSelect(target);
doDraw[0] = true;
values[0] = 0;
values[1] = 1;
drawbars.run();
}
target.block().drawSelect(target);
}
}

View File

@@ -22,7 +22,7 @@ public class Trail{
this.length = length;
}
public synchronized void update(float curx, float cury){
public void update(float curx, float cury){
if(Vector2.dst(curx, cury, lastX, lastY) >= maxJump){
points.clear();
}
@@ -39,11 +39,11 @@ public class Trail{
lastY = cury;
}
public synchronized void clear(){
public void clear(){
points.clear();
}
public synchronized void draw(Color color, float stroke){
public void draw(Color color, float stroke){
Draw.color(color);
for(int i = 0; i < points.size - 2; i += 2){