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
|
||||
{
|
||||
private NotificationListener _notifListener;
|
||||
private DateTime _lastUpdate = DateTime.MinValue;
|
||||
|
||||
public frmEventViewer()
|
||||
{
|
||||
|
@ -41,10 +42,14 @@ namespace Mesen.GUI.Debugger
|
|||
switch(e.NotificationType) {
|
||||
case ConsoleNotificationType.CodeBreak:
|
||||
case ConsoleNotificationType.EventViewerRefresh:
|
||||
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||
_lastUpdate = DateTime.Now;
|
||||
|
||||
ctrlPpuView.RefreshData();
|
||||
this.BeginInvoke((Action)(() => {
|
||||
ctrlPpuView.RefreshViewer();
|
||||
}));
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ namespace Mesen.GUI.Debugger
|
|||
public partial class frmPaletteViewer : BaseForm
|
||||
{
|
||||
private NotificationListener _notifListener;
|
||||
private DateTime _lastUpdate = DateTime.MinValue;
|
||||
|
||||
public frmPaletteViewer()
|
||||
{
|
||||
|
@ -54,12 +55,15 @@ namespace Mesen.GUI.Debugger
|
|||
case ConsoleNotificationType.CodeBreak:
|
||||
case ConsoleNotificationType.ViewerRefresh:
|
||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||
_lastUpdate = DateTime.Now;
|
||||
ctrlPaletteViewer.RefreshData();
|
||||
this.BeginInvoke((Action)(() => {
|
||||
ctrlPaletteViewer.RefreshViewer();
|
||||
UpdateFields();
|
||||
}));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ConsoleNotificationType.GameLoaded:
|
||||
|
|
|
@ -24,6 +24,7 @@ namespace Mesen.GUI.Debugger
|
|||
private bool _zoomed;
|
||||
private SnesMemoryType _memoryType = SnesMemoryType.VideoRam;
|
||||
private int _addressOffset = 0;
|
||||
private DateTime _lastUpdate = DateTime.MinValue;
|
||||
|
||||
public frmTileViewer()
|
||||
{
|
||||
|
@ -71,11 +72,14 @@ namespace Mesen.GUI.Debugger
|
|||
case ConsoleNotificationType.CodeBreak:
|
||||
case ConsoleNotificationType.ViewerRefresh:
|
||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||
_lastUpdate = DateTime.Now;
|
||||
RefreshData();
|
||||
this.BeginInvoke((Action)(() => {
|
||||
this.RefreshViewer();
|
||||
}));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ConsoleNotificationType.GameLoaded:
|
||||
|
|
|
@ -28,6 +28,7 @@ namespace Mesen.GUI.Debugger
|
|||
private int _scale = 1;
|
||||
private int _selectedRow = 0;
|
||||
private int _selectedColumn = 0;
|
||||
private DateTime _lastUpdate = DateTime.MinValue;
|
||||
|
||||
public frmTilemapViewer()
|
||||
{
|
||||
|
@ -77,11 +78,14 @@ namespace Mesen.GUI.Debugger
|
|||
case ConsoleNotificationType.CodeBreak:
|
||||
case ConsoleNotificationType.ViewerRefresh:
|
||||
if(e.Parameter.ToInt32() == ctrlScanlineCycleSelect.ViewerId) {
|
||||
if((DateTime.Now - _lastUpdate).Milliseconds > 10) {
|
||||
_lastUpdate = DateTime.Now;
|
||||
RefreshData();
|
||||
this.BeginInvoke((Action)(() => {
|
||||
this.RefreshViewer();
|
||||
}));
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ConsoleNotificationType.GameLoaded:
|
||||
|
|
Loading…
Add table
Reference in a new issue