NES - PPU Viewer - nice speed boosts by tweaking palette and pattern viewers to not redraw backgrounds

This commit is contained in:
adelikat 2012-08-12 02:05:37 +00:00
parent f84a3709c9
commit fb3d1a1bd3
3 changed files with 54 additions and 52 deletions

View File

@ -35,10 +35,12 @@
this.Table0PaletteLabel = new System.Windows.Forms.Label();
this.PatternContext = new System.Windows.Forms.ContextMenuStrip(this.components);
this.saveImageToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.imageToClipboardToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.refreshToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.PalettesGroup = new System.Windows.Forms.GroupBox();
this.PaletteContext = new System.Windows.Forms.ContextMenuStrip(this.components);
this.saveImageToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.imageToClipboardToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.refreshToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.DetailsBox = new System.Windows.Forms.GroupBox();
this.label2 = new System.Windows.Forms.Label();
@ -67,6 +69,10 @@
this.savePatternScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveSpriteScreenshotToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.savePaletteToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copyPatternToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copySpriteToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.patternToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.table0PaletteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -90,15 +96,9 @@
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autoLoadToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.saveWindowPositionToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.imageToClipboardToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.imageToClipboardToolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.SpriteView = new BizHawk.MultiClient.SpriteViewer();
this.PaletteView = new BizHawk.MultiClient.PaletteViewer();
this.PatternView = new BizHawk.MultiClient.PatternViewer();
this.savePaletteToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.copyPatternToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.copySpriteToClipboardToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.PatternGroup.SuspendLayout();
this.PatternContext.SuspendLayout();
this.PalettesGroup.SuspendLayout();
@ -159,6 +159,13 @@
this.saveImageToolStripMenuItem1.Text = "&Save Image...";
this.saveImageToolStripMenuItem1.Click += new System.EventHandler(this.saveImageToolStripMenuItem1_Click);
//
// imageToClipboardToolStripMenuItem1
//
this.imageToClipboardToolStripMenuItem1.Name = "imageToClipboardToolStripMenuItem1";
this.imageToClipboardToolStripMenuItem1.Size = new System.Drawing.Size(176, 22);
this.imageToClipboardToolStripMenuItem1.Text = "Image to &Clipboard";
this.imageToClipboardToolStripMenuItem1.Click += new System.EventHandler(this.imageToClipboardToolStripMenuItem1_Click);
//
// refreshToolStripMenuItem1
//
this.refreshToolStripMenuItem1.Name = "refreshToolStripMenuItem1";
@ -192,6 +199,13 @@
this.saveImageToolStripMenuItem.Text = "&Save Image...";
this.saveImageToolStripMenuItem.Click += new System.EventHandler(this.saveImageToolStripMenuItem_Click);
//
// imageToClipboardToolStripMenuItem2
//
this.imageToClipboardToolStripMenuItem2.Name = "imageToClipboardToolStripMenuItem2";
this.imageToClipboardToolStripMenuItem2.Size = new System.Drawing.Size(176, 22);
this.imageToClipboardToolStripMenuItem2.Text = "Image to &Clipboard";
this.imageToClipboardToolStripMenuItem2.Click += new System.EventHandler(this.imageToClipboardToolStripMenuItem2_Click);
//
// refreshToolStripMenuItem
//
this.refreshToolStripMenuItem.Name = "refreshToolStripMenuItem";
@ -451,6 +465,32 @@
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(209, 6);
//
// savePaletteToClipboardToolStripMenuItem
//
this.savePaletteToClipboardToolStripMenuItem.Name = "savePaletteToClipboardToolStripMenuItem";
this.savePaletteToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.savePaletteToClipboardToolStripMenuItem.Text = "Copy Palette to Clipboard";
this.savePaletteToClipboardToolStripMenuItem.Click += new System.EventHandler(this.savePaletteToClipboardToolStripMenuItem_Click);
//
// copyPatternToClipboardToolStripMenuItem
//
this.copyPatternToClipboardToolStripMenuItem.Name = "copyPatternToClipboardToolStripMenuItem";
this.copyPatternToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.copyPatternToClipboardToolStripMenuItem.Text = "Copy Pattern to Clipboard";
this.copyPatternToClipboardToolStripMenuItem.Click += new System.EventHandler(this.copyPatternToClipboardToolStripMenuItem_Click);
//
// copySpriteToClipboardToolStripMenuItem
//
this.copySpriteToClipboardToolStripMenuItem.Name = "copySpriteToClipboardToolStripMenuItem";
this.copySpriteToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.copySpriteToClipboardToolStripMenuItem.Text = "Copy Sprite to Clipboard";
this.copySpriteToClipboardToolStripMenuItem.Click += new System.EventHandler(this.copySpriteToClipboardToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(209, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
@ -480,7 +520,7 @@
this.Table0P6,
this.Table0P7});
this.table0PaletteToolStripMenuItem.Name = "table0PaletteToolStripMenuItem";
this.table0PaletteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.table0PaletteToolStripMenuItem.Size = new System.Drawing.Size(151, 22);
this.table0PaletteToolStripMenuItem.Text = "Table 0 Palette";
//
// Table0P0
@ -551,7 +591,7 @@
this.Table1P6,
this.Table1P7});
this.table1PaletteToolStripMenuItem1.Name = "table1PaletteToolStripMenuItem1";
this.table1PaletteToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
this.table1PaletteToolStripMenuItem1.Size = new System.Drawing.Size(151, 22);
this.table1PaletteToolStripMenuItem1.Text = "Table 1 Palette";
//
// Table1P0
@ -634,20 +674,6 @@
this.saveWindowPositionToolStripMenuItem1.Text = "Save Window Position";
this.saveWindowPositionToolStripMenuItem1.Click += new System.EventHandler(this.saveWindowPositionToolStripMenuItem_Click);
//
// imageToClipboardToolStripMenuItem1
//
this.imageToClipboardToolStripMenuItem1.Name = "imageToClipboardToolStripMenuItem1";
this.imageToClipboardToolStripMenuItem1.Size = new System.Drawing.Size(176, 22);
this.imageToClipboardToolStripMenuItem1.Text = "Image to &Clipboard";
this.imageToClipboardToolStripMenuItem1.Click += new System.EventHandler(this.imageToClipboardToolStripMenuItem1_Click);
//
// imageToClipboardToolStripMenuItem2
//
this.imageToClipboardToolStripMenuItem2.Name = "imageToClipboardToolStripMenuItem2";
this.imageToClipboardToolStripMenuItem2.Size = new System.Drawing.Size(176, 22);
this.imageToClipboardToolStripMenuItem2.Text = "Image to &Clipboard";
this.imageToClipboardToolStripMenuItem2.Click += new System.EventHandler(this.imageToClipboardToolStripMenuItem2_Click);
//
// SpriteView
//
this.SpriteView.BackColor = System.Drawing.Color.Transparent;
@ -667,7 +693,7 @@
this.PaletteView.ContextMenuStrip = this.PaletteContext;
this.PaletteView.Location = new System.Drawing.Point(6, 19);
this.PaletteView.Name = "PaletteView";
this.PaletteView.Size = new System.Drawing.Size(257, 34);
this.PaletteView.Size = new System.Drawing.Size(256, 32);
this.PaletteView.TabIndex = 0;
this.PaletteView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.PaletteView_MouseClick);
this.PaletteView.MouseEnter += new System.EventHandler(this.PaletteView_MouseEnter);
@ -687,32 +713,6 @@
this.PatternView.MouseLeave += new System.EventHandler(this.PatternView_MouseLeave);
this.PatternView.MouseMove += new System.Windows.Forms.MouseEventHandler(this.PatternView_MouseMove);
//
// savePaletteToClipboardToolStripMenuItem
//
this.savePaletteToClipboardToolStripMenuItem.Name = "savePaletteToClipboardToolStripMenuItem";
this.savePaletteToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.savePaletteToClipboardToolStripMenuItem.Text = "Copy Palette to Clipboard";
this.savePaletteToClipboardToolStripMenuItem.Click += new System.EventHandler(this.savePaletteToClipboardToolStripMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(209, 6);
//
// copyPatternToClipboardToolStripMenuItem
//
this.copyPatternToClipboardToolStripMenuItem.Name = "copyPatternToClipboardToolStripMenuItem";
this.copyPatternToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.copyPatternToClipboardToolStripMenuItem.Text = "Copy Pattern to Clipboard";
this.copyPatternToClipboardToolStripMenuItem.Click += new System.EventHandler(this.copyPatternToClipboardToolStripMenuItem_Click);
//
// copySpriteToClipboardToolStripMenuItem
//
this.copySpriteToClipboardToolStripMenuItem.Name = "copySpriteToClipboardToolStripMenuItem";
this.copySpriteToClipboardToolStripMenuItem.Size = new System.Drawing.Size(212, 22);
this.copySpriteToClipboardToolStripMenuItem.Text = "Copy Sprite to Clipboard";
this.copySpriteToClipboardToolStripMenuItem.Click += new System.EventHandler(this.copySpriteToClipboardToolStripMenuItem_Click);
//
// NESPPU
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View File

@ -37,6 +37,7 @@ namespace BizHawk.MultiClient
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
SetStyle(ControlStyles.Opaque, true);
this.Size = new Size(128, 32);
this.BackColor = Color.Transparent;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.PaletteViewer_Paint);
@ -55,8 +56,8 @@ namespace BizHawk.MultiClient
{
for (int x = 0; x < 16; x++)
{
e.Graphics.FillRectangle(new SolidBrush(bgPalettes[x].Color), new Rectangle(x * 16, 1, 16, 16));
e.Graphics.FillRectangle(new SolidBrush(spritePalettes[x].Color), new Rectangle(x * 16, 17, 16, 16));
e.Graphics.FillRectangle(new SolidBrush(bgPalettes[x].Color), new Rectangle(x * 16, 0, 16, 16));
e.Graphics.FillRectangle(new SolidBrush(spritePalettes[x].Color), new Rectangle(x * 16, 16, 16, 16));
}
}

View File

@ -25,6 +25,7 @@ namespace BizHawk.MultiClient
SetStyle(ControlStyles.UserPaint, true);
SetStyle(ControlStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
SetStyle(ControlStyles.Opaque, true);
this.Size = pSize;
this.BackColor = Color.Transparent;
this.Paint += new System.Windows.Forms.PaintEventHandler(this.PatternViewer_Paint);
@ -32,7 +33,7 @@ namespace BizHawk.MultiClient
private void PatternViewer_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(pattern, 1, 1);
e.Graphics.DrawImage(pattern, 0, 0);
}
public void Screenshot()