Rendering - Improved sampling performance

Plugins - Added update/render time measuring
Settings - Added a way to enable 60/144 FPS 🕵🏻‍♂️
This commit is contained in:
Robert committed 2021-03-22 21:12:58 +01:00
1 parent fc9476247f
commit 97668ee932
8 files changed
+141 -75

No files matched your search

@@ -35,6 +35,9 @@
<Run Text=" at " />
<Run Text="{Binding RenderWidth}" /><Run Text="x" />
<Run Text="{Binding RenderHeight}" />
<Run Text=" - Renderer: "></Run>
<Run Text="{Binding Renderer}"></Run>
</TextBlock>
</Grid>
@@ -20,6 +20,7 @@ namespace Artemis.UI.Screens.Settings.Debug.Tabs
private int _renderWidth;
private int _renderHeight;
private string _frameTargetPath;
private string _renderer;
public RenderDebugViewModel(ICoreService coreService)
{
@@ -51,6 +52,12 @@ namespace Artemis.UI.Screens.Settings.Debug.Tabs
set => SetAndNotify(ref _renderHeight, value);
}
public string Renderer
{
get => _renderer;
set => SetAndNotify(ref _renderer, value);
}
public void SaveFrame()
{
VistaSaveFileDialog dialog = new VistaSaveFileDialog {Filter = "Portable network graphic (*.png)|*.png", Title = "Save render frame"};
@@ -69,6 +76,8 @@ namespace Artemis.UI.Screens.Settings.Debug.Tabs
{
_coreService.FrameRendered += CoreServiceOnFrameRendered;
_coreService.FrameRendering += CoreServiceOnFrameRendering;
Renderer = Constants.ManagedGraphicsContext != null ? Constants.ManagedGraphicsContext.GetType().Name : "Software";
base.OnActivate();
}
@@ -88,8 +97,6 @@ namespace Artemis.UI.Screens.Settings.Debug.Tabs
RenderWidth = bitmapInfo.Width;
// ReSharper disable twice CompareOfFloatsByEqualityOperator
if (CurrentFrame is not WriteableBitmap writable || writable.Width != bitmapInfo.Width || writable.Height != bitmapInfo.Height)
{
CurrentFrame = e.Texture.Surface.Snapshot().ToWriteableBitmap();