Replace Host FPS with GPU command queue load ("Fifo %") (#1585)
* Replace Host FPS with FIFO% * Change measurement order. Improve calculation. Now at 100% when FIFO is blocking game exectution, rather than "0". * Address feedback (1) * Remove Host FPS * FIFO rather than Fifo * Address Ac_k feedback * Rebase
This commit is contained in:
parent
04e330cc00
commit
aec8177850
5 changed files with 102 additions and 40 deletions
|
@ -339,7 +339,9 @@ namespace Ryujinx.Ui
|
|||
|
||||
if (_device.WaitFifo())
|
||||
{
|
||||
_device.Statistics.RecordFifoStart();
|
||||
_device.ProcessFrame();
|
||||
_device.Statistics.RecordFifoEnd();
|
||||
}
|
||||
|
||||
string dockedMode = ConfigurationState.Instance.System.EnableDockedMode ? "Docked" : "Handheld";
|
||||
|
@ -353,13 +355,11 @@ namespace Ryujinx.Ui
|
|||
{
|
||||
_device.PresentFrame(SwapBuffers);
|
||||
|
||||
_device.Statistics.RecordSystemFrameTime();
|
||||
|
||||
StatusUpdatedEvent?.Invoke(this, new StatusUpdatedEventArgs(
|
||||
_device.EnableDeviceVsync,
|
||||
dockedMode,
|
||||
$"Host: {_device.Statistics.GetSystemFrameRate():00.00} FPS",
|
||||
$"Game: {_device.Statistics.GetGameFrameRate():00.00} FPS",
|
||||
$"FIFO: {_device.Statistics.GetFifoPercent():0.00} %",
|
||||
$"GPU: {_renderer.GpuVendor}"));
|
||||
|
||||
_ticks = Math.Min(_ticks - _ticksPerFrame, _ticksPerFrame);
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace Ryujinx.Ui
|
|||
[GUI] CheckMenuItem _favToggle;
|
||||
[GUI] MenuItem _firmwareInstallDirectory;
|
||||
[GUI] MenuItem _firmwareInstallFile;
|
||||
[GUI] Label _hostStatus;
|
||||
[GUI] Label _fifoStatus;
|
||||
[GUI] CheckMenuItem _iconToggle;
|
||||
[GUI] CheckMenuItem _developerToggle;
|
||||
[GUI] CheckMenuItem _appToggle;
|
||||
|
@ -792,8 +792,8 @@ namespace Ryujinx.Ui
|
|||
{
|
||||
Application.Invoke(delegate
|
||||
{
|
||||
_hostStatus.Text = args.HostStatus;
|
||||
_gameStatus.Text = args.GameStatus;
|
||||
_fifoStatus.Text = args.FifoStatus;
|
||||
_gpuName.Text = args.GpuName;
|
||||
_dockedMode.Text = args.DockedMode;
|
||||
|
||||
|
|
|
@ -521,7 +521,7 @@
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="_hostStatus">
|
||||
<object class="GtkLabel" id="_gameStatus">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
|
@ -546,7 +546,7 @@
|
|||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="_gameStatus">
|
||||
<object class="GtkLabel" id="_fifoStatus">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">start</property>
|
||||
|
|
|
@ -6,16 +6,16 @@ namespace Ryujinx.Ui
|
|||
{
|
||||
public bool VSyncEnabled;
|
||||
public string DockedMode;
|
||||
public string HostStatus;
|
||||
public string GameStatus;
|
||||
public string FifoStatus;
|
||||
public string GpuName;
|
||||
|
||||
public StatusUpdatedEventArgs(bool vSyncEnabled, string dockedMode, string hostStatus, string gameStatus, string gpuName)
|
||||
public StatusUpdatedEventArgs(bool vSyncEnabled, string dockedMode, string gameStatus, string fifoStatus, string gpuName)
|
||||
{
|
||||
VSyncEnabled = vSyncEnabled;
|
||||
DockedMode = dockedMode;
|
||||
HostStatus = hostStatus;
|
||||
GameStatus = gameStatus;
|
||||
FifoStatus = fifoStatus;
|
||||
GpuName = gpuName;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue