perf fixes

This commit is contained in:
Paul Chote
2010-04-01 23:21:01 +13:00
committed by Bob
parent c366b7c7fc
commit 3b15aec294
3 changed files with 39 additions and 19 deletions

View File

@@ -88,11 +88,8 @@ namespace OpenRA.FileFormats
public byte[] GetBytes(TileReference<ushort,byte> r) public byte[] GetBytes(TileReference<ushort,byte> r)
{ {
Terrain tile; Terrain tile;
try { if( tiles.TryGetValue( r.type, out tile ) )
if( tiles.TryGetValue( r.type, out tile ) ) return tile.TileBitmapBytes[ r.image ];
return tile.TileBitmapBytes[ r.image ];
}
catch (System.ArgumentOutOfRangeException) { }
byte[] missingTile = new byte[ 24 * 24 ]; byte[] missingTile = new byte[ 24 * 24 ];
for( int i = 0 ; i < missingTile.Length ; i++ ) for( int i = 0 ; i < missingTile.Length ; i++ )
@@ -101,16 +98,13 @@ namespace OpenRA.FileFormats
return missingTile; return missingTile;
} }
public TerrainType GetTerrainType(TileReference<ushort,byte> r) public TerrainType GetTerrainType( TileReference<ushort, byte> r )
{ {
try { var tt = walk[ r.type ].TerrainType;
return walk[r.type].TerrainType[r.image]; TerrainType ret;
} if( !tt.TryGetValue( r.image, out ret ) )
catch (KeyNotFoundException) return 0;// Default zero (walkable)
{ return ret;
return 0; // Default zero (walkable)
}
} }
} }
} }

View File

@@ -164,10 +164,6 @@ namespace OpenRA.Traits
public void Spread(ResourceTypeInfo info) public void Spread(ResourceTypeInfo info)
{ {
var map = w.Map; var map = w.Map;
var mini = map.XOffset; var maxi = map.XOffset + map.Width;
var minj = map.YOffset; var maxj = map.YOffset + map.Height;
var growMask = new bool[map.MapSize.X, map.MapSize.Y]; var growMask = new bool[map.MapSize.X, map.MapSize.Y];
for (int i = map.TopLeft.X; i < map.BottomRight.X; i++) for (int i = map.TopLeft.X; i < map.BottomRight.X; i++)
for (int j = map.TopLeft.Y; j < map.BottomRight.Y; j++) for (int j = map.TopLeft.Y; j < map.BottomRight.Y; j++)

View File

@@ -13,6 +13,21 @@
[TEM0] [TEM0]
Name=CLEAR1 Name=CLEAR1
tiletype0=0 tiletype0=0
tiletype1=0
tiletype2=0
tiletype3=0
tiletype4=0
tiletype5=0
tiletype6=0
tiletype7=0
tiletype8=0
tiletype9=0
tiletype10=0
tiletype11=0
tiletype12=0
tiletype13=0
tiletype14=0
tiletype15=0
[TEM1] [TEM1]
Name=W1 Name=W1
@@ -2753,6 +2768,21 @@ tiletype8=0
[TEM255] [TEM255]
Name=CLEAR1 Name=CLEAR1
tiletype0=0 tiletype0=0
tiletype1=0
tiletype2=0
tiletype3=0
tiletype4=0
tiletype5=0
tiletype6=0
tiletype7=0
tiletype8=0
tiletype9=0
tiletype10=0
tiletype11=0
tiletype12=0
tiletype13=0
tiletype14=0
tiletype15=0
[TEM378] [TEM378]
Name=BRIDGE1H Name=BRIDGE1H