Debugger: Limit refresh to ~100 FPS on all debugger windows (to reduce chances of UI locking up at max speed)
This commit is contained in:
parent
2725534842
commit
08b1388cbd
4 changed files with 34 additions and 17 deletions
|
@ -14,6 +14,7 @@ namespace Mesen.GUI.Debugger
|
||||||
public partial class frmEventViewer : BaseForm
|
public partial class frmEventViewer : BaseForm
|
||||||
{
|
{
|
||||||
private NotificationListener _notifListener;
|
private NotificationListener _notifListener;
|
||||||
|
private DateTime _lastUpdate = DateTime.MinValue;
|
||||||
|
|
||||||
public frmEventViewer()
|
public frmEventViewer()
|
||||||
{
|
{
|
||||||
|
@ -41,10 +42,14 @@ namespace Mesen.GUI.Debugger
|
||||||
switch(e.NotificationType) {
|
switch(e.NotificationType) {
|
||||||
case ConsoleNotificationType.CodeBreak:
|
case ConsoleNotificationType.CodeBreak:
|
||||||
case ConsoleNotificationType.EventViewerRefresh:
|
case ConsoleNotificationType.EventViewerRefresh:
|
||||||
ctrlPpuView.RefreshData();
|
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||||
this.BeginInvoke((Action)(() => {
|
_lastUpdate = DateTime.Now;
|
||||||
ctrlPpuView.RefreshViewer();
|
|
||||||
}));
|
ctrlPpuView.RefreshData();
|
||||||
|
this.BeginInvoke((Action)(() => {
|
||||||
|
ctrlPpuView.RefreshViewer();
|
||||||
|
}));
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,7 @@ namespace Mesen.GUI.Debugger
|
||||||
public partial class frmPaletteViewer : BaseForm
|
public partial class frmPaletteViewer : BaseForm
|
||||||
{
|
{
|
||||||
private NotificationListener _notifListener;
|
private NotificationListener _notifListener;
|
||||||
|
private DateTime _lastUpdate = DateTime.MinValue;
|
||||||
|
|
||||||
public frmPaletteViewer()
|
public frmPaletteViewer()
|
||||||
{
|
{
|
||||||
|
@ -54,11 +55,14 @@ namespace Mesen.GUI.Debugger
|
||||||
case ConsoleNotificationType.CodeBreak:
|
case ConsoleNotificationType.CodeBreak:
|
||||||
case ConsoleNotificationType.ViewerRefresh:
|
case ConsoleNotificationType.ViewerRefresh:
|
||||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||||
ctrlPaletteViewer.RefreshData();
|
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||||
this.BeginInvoke((Action)(() => {
|
_lastUpdate = DateTime.Now;
|
||||||
ctrlPaletteViewer.RefreshViewer();
|
ctrlPaletteViewer.RefreshData();
|
||||||
UpdateFields();
|
this.BeginInvoke((Action)(() => {
|
||||||
}));
|
ctrlPaletteViewer.RefreshViewer();
|
||||||
|
UpdateFields();
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Mesen.GUI.Debugger
|
||||||
private bool _zoomed;
|
private bool _zoomed;
|
||||||
private SnesMemoryType _memoryType = SnesMemoryType.VideoRam;
|
private SnesMemoryType _memoryType = SnesMemoryType.VideoRam;
|
||||||
private int _addressOffset = 0;
|
private int _addressOffset = 0;
|
||||||
|
private DateTime _lastUpdate = DateTime.MinValue;
|
||||||
|
|
||||||
public frmTileViewer()
|
public frmTileViewer()
|
||||||
{
|
{
|
||||||
|
@ -71,10 +72,13 @@ namespace Mesen.GUI.Debugger
|
||||||
case ConsoleNotificationType.CodeBreak:
|
case ConsoleNotificationType.CodeBreak:
|
||||||
case ConsoleNotificationType.ViewerRefresh:
|
case ConsoleNotificationType.ViewerRefresh:
|
||||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||||
RefreshData();
|
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||||
this.BeginInvoke((Action)(() => {
|
_lastUpdate = DateTime.Now;
|
||||||
this.RefreshViewer();
|
RefreshData();
|
||||||
}));
|
this.BeginInvoke((Action)(() => {
|
||||||
|
this.RefreshViewer();
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ namespace Mesen.GUI.Debugger
|
||||||
private int _scale = 1;
|
private int _scale = 1;
|
||||||
private int _selectedRow = 0;
|
private int _selectedRow = 0;
|
||||||
private int _selectedColumn = 0;
|
private int _selectedColumn = 0;
|
||||||
|
private DateTime _lastUpdate = DateTime.MinValue;
|
||||||
|
|
||||||
public frmTilemapViewer()
|
public frmTilemapViewer()
|
||||||
{
|
{
|
||||||
|
@ -77,10 +78,13 @@ namespace Mesen.GUI.Debugger
|
||||||
case ConsoleNotificationType.CodeBreak:
|
case ConsoleNotificationType.CodeBreak:
|
||||||
case ConsoleNotificationType.ViewerRefresh:
|
case ConsoleNotificationType.ViewerRefresh:
|
||||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||||
RefreshData();
|
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||||
this.BeginInvoke((Action)(() => {
|
_lastUpdate = DateTime.Now;
|
||||||
this.RefreshViewer();
|
RefreshData();
|
||||||
}));
|
this.BeginInvoke((Action)(() => {
|
||||||
|
this.RefreshViewer();
|
||||||
|
}));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue