Hexeditor - stringbuilder for a slight speedup

This commit is contained in:
andres.delikat 2011-08-07 15:54:29 +00:00
parent c05a8770c4
commit cce572f0c8
2 changed files with 541 additions and 537 deletions

View File

@ -117,7 +117,7 @@ namespace BizHawk.MultiClient
}
PatternView.pattern.UnlockBits(bmpdata);
PatternView.Refresh();
/*
int SpriteNum, TileNum, Attr, MemAddr;
//Sprite Viewer
@ -142,6 +142,7 @@ namespace BizHawk.MultiClient
}
}
}
* */
}
public unsafe void UpdateValues()

View File

@ -153,7 +153,10 @@ namespace BizHawk.MultiClient
int rowX = 8;
int rowY = 16;
int rowYoffset = 20;
string rowStr = "";
StringBuilder rowStr = new StringBuilder();
int addr = 0;
addrOffset = (GetNumDigits(Domain.Size) % 4) * 9;
g.DrawLine(new Pen(regBrush), this.Left + 38 + addrOffset, this.Top, this.Left + 38 + addrOffset, this.Bottom - 40);
@ -171,7 +174,7 @@ namespace BizHawk.MultiClient
for (int i = 0; i < RowsVisible; i++)
{
row = i + vScrollBar1.Value;
rowStr = String.Format("{0:X" + GetNumDigits(Domain.Size) + "}", row * 16) + " ";
rowStr.Append(String.Format("{0:X" + GetNumDigits(Domain.Size) + "}", row * 16) + " ");
switch (DataSize)
{
default:
@ -181,7 +184,7 @@ namespace BizHawk.MultiClient
{
addr = (row * 16) + j;
if (addr < Domain.Size)
rowStr += String.Format("{0:X2}", Domain.PeekByte(addr)) + " ";
rowStr.Append(String.Format("{0:X2}", Domain.PeekByte(addr)) + " ");
}
break;
case 2:
@ -190,7 +193,7 @@ namespace BizHawk.MultiClient
{
addr = (row * 16) + j;
if (addr < Domain.Size)
rowStr += String.Format("{0:X4}", MakeValue(addr, DataSize, BigEndian)) + " ";
rowStr.Append(String.Format("{0:X4}", MakeValue(addr, DataSize, BigEndian)) + " ");
}
break;
case 4:
@ -199,7 +202,7 @@ namespace BizHawk.MultiClient
{
addr = (row * 16) + j;
if (addr < Domain.Size)
rowStr += String.Format("{0:X8}", MakeValue(addr, DataSize, BigEndian)) + " ";
rowStr.Append(String.Format("{0:X8}", MakeValue(addr, DataSize, BigEndian)) + " ");
}
break;
@ -207,7 +210,7 @@ namespace BizHawk.MultiClient
g.DrawString(Domain.Name, font, regBrush, new Point(1, 1));
g.DrawString(Header, font, regBrush, new Point(rowX + addrOffset, rowY));
if (row * 16 < Domain.Size)
g.DrawString(rowStr, font, regBrush, new Point(rowX, (rowY * (i + 1)) + rowYoffset));
g.DrawString(rowStr.ToString(), font, regBrush, new Point(rowX, (rowY * (i + 1)) + rowYoffset));
}
}
}