Merge remote-tracking branch 'upstream/development' into Atom/santorac/RemixableMaterialTypes3
Signed-off-by: santorac <55155825+santorac@users.noreply.github.com>
This commit is contained in:
@@ -8,16 +8,16 @@
|
||||
|
||||
#include <Viewport/MaterialViewportComponent.h>
|
||||
#include <Viewport/MaterialViewportModule.h>
|
||||
#include <Viewport/PerformanceMonitorComponent.h>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
MaterialViewportModule::MaterialViewportModule()
|
||||
{
|
||||
// Push results of [MyComponent]::CreateDescriptor() into m_descriptors here.
|
||||
m_descriptors.insert(m_descriptors.end(), {
|
||||
MaterialViewportComponent::CreateDescriptor(),
|
||||
PerformanceMonitorComponent::CreateDescriptor(),
|
||||
m_descriptors.insert(
|
||||
m_descriptors.end(),
|
||||
{
|
||||
MaterialViewportComponent::CreateDescriptor(),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ namespace MaterialEditor
|
||||
{
|
||||
return AZ::ComponentTypeList{
|
||||
azrtti_typeid<MaterialViewportComponent>(),
|
||||
azrtti_typeid<PerformanceMonitorComponent>(),
|
||||
};
|
||||
}
|
||||
}
|
||||
} // namespace MaterialEditor
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
#include <Viewport/MaterialViewportRequestBus.h>
|
||||
#include <Viewport/MaterialViewportSettings.h>
|
||||
#include <Viewport/MaterialViewportWidget.h>
|
||||
#include <Viewport/PerformanceMonitorRequestBus.h>
|
||||
#include <Viewport/ui_MaterialViewportWidget.h>
|
||||
|
||||
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
|
||||
@@ -462,8 +461,6 @@ namespace MaterialEditor
|
||||
|
||||
m_renderPipeline->AddToRenderTickOnce();
|
||||
|
||||
PerformanceMonitorRequestBus::Broadcast(&PerformanceMonitorRequestBus::Handler::GatherMetrics);
|
||||
|
||||
if (m_shadowCatcherMaterial)
|
||||
{
|
||||
// Compile the m_shadowCatcherMaterial in OnTick because changes can only be compiled once per frame.
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Memory/Memory.h>
|
||||
#include <AzCore/RTTI/RTTI.h>
|
||||
#include <AzCore/RTTI/ReflectContext.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
//! Data structure containing performance metrics for Material Editor
|
||||
struct PerformanceMetrics final
|
||||
{
|
||||
AZ_CLASS_ALLOCATOR(PerformanceMetrics, AZ::SystemAllocator, 0);
|
||||
|
||||
double m_cpuFrameTimeMs = 0;
|
||||
double m_gpuFrameTimeMs = 0;
|
||||
};
|
||||
} // namespace MaterialEditor
|
||||
@@ -1,123 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
|
||||
#include <Atom/RHI/RHISystemInterface.h>
|
||||
#include <Atom/RPI.Public/Pass/ParentPass.h>
|
||||
#include <Atom/RPI.Public/Pass/PassSystemInterface.h>
|
||||
|
||||
#include <Viewport/PerformanceMonitorComponent.h>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
void PerformanceMonitorComponent::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (AZ::SerializeContext* serialize = azrtti_cast<AZ::SerializeContext*>(context))
|
||||
{
|
||||
serialize->Class<PerformanceMonitorComponent, AZ::Component>()
|
||||
->Version(0);
|
||||
}
|
||||
}
|
||||
|
||||
PerformanceMonitorComponent::PerformanceMonitorComponent()
|
||||
{
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
|
||||
{
|
||||
provided.push_back(AZ_CRC_CE("PerformanceMonitorService"));
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::Init()
|
||||
{
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::Activate()
|
||||
{
|
||||
PerformanceMonitorRequestBus::Handler::BusConnect();
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::Deactivate()
|
||||
{
|
||||
PerformanceMonitorRequestBus::Handler::BusDisconnect();
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::SetProfilerEnabled(bool enabled)
|
||||
{
|
||||
if (m_profilingEnabled == enabled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
AZ::RHI::Ptr<AZ::RPI::ParentPass> rootPass = AZ::RPI::PassSystemInterface::Get()->GetRootPass();
|
||||
if (rootPass)
|
||||
{
|
||||
rootPass->SetTimestampQueryEnabled(enabled);
|
||||
}
|
||||
else
|
||||
{
|
||||
AZ_Error("PerformanceMonitorComponent", false, "Failed to find root pass.");
|
||||
}
|
||||
|
||||
if (enabled)
|
||||
{
|
||||
ResetStats();
|
||||
}
|
||||
|
||||
m_profilingEnabled = enabled;
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::GatherMetrics()
|
||||
{
|
||||
if (!m_profilingEnabled)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (++m_sample > SampleCount)
|
||||
{
|
||||
m_sample = 0;
|
||||
|
||||
UpdateMetrics();
|
||||
ResetStats();
|
||||
}
|
||||
|
||||
double frameTime = AZ::RHI::RHISystemInterface::Get()->GetCpuFrameTime();
|
||||
if (frameTime > 0)
|
||||
{
|
||||
m_cpuFrameTimeMs.PushSample(frameTime);
|
||||
}
|
||||
|
||||
AZ::RHI::Ptr<AZ::RPI::ParentPass> rootPass = AZ::RPI::PassSystemInterface::Get()->GetRootPass();
|
||||
if (rootPass)
|
||||
{
|
||||
AZ::RPI::TimestampResult timestampResult = rootPass->GetLatestTimestampResult();
|
||||
double gpuFrameTimeMs = aznumeric_cast<double>(timestampResult.GetDurationInNanoseconds()) / 1000000;
|
||||
m_gpuFrameTimeMs.PushSample(gpuFrameTimeMs);
|
||||
}
|
||||
}
|
||||
|
||||
const PerformanceMetrics& PerformanceMonitorComponent::GetMetrics()
|
||||
{
|
||||
UpdateMetrics();
|
||||
return m_metrics;
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::UpdateMetrics()
|
||||
{
|
||||
m_metrics.m_cpuFrameTimeMs = m_cpuFrameTimeMs.GetAverage();
|
||||
m_metrics.m_gpuFrameTimeMs = m_gpuFrameTimeMs.GetAverage();
|
||||
}
|
||||
|
||||
void PerformanceMonitorComponent::ResetStats()
|
||||
{
|
||||
m_cpuFrameTimeMs.Reset();
|
||||
m_gpuFrameTimeMs.Reset();
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <Atom/RPI.Public/Pass/Pass.h>
|
||||
#include <AzCore/Component/Component.h>
|
||||
#include <AzCore/Statistics/RunningStatistic.h>
|
||||
#include <Viewport/PerformanceMonitorRequestBus.h>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
//! PerformanceMonitorComponent monitors performance within Material Editor
|
||||
class PerformanceMonitorComponent
|
||||
: public AZ::Component
|
||||
, private PerformanceMonitorRequestBus::Handler
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(PerformanceMonitorComponent, "{C2F54D1B-A106-4922-82BE-ACB7A168D4AF}");
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
PerformanceMonitorComponent();
|
||||
~PerformanceMonitorComponent() = default;
|
||||
|
||||
static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
|
||||
|
||||
private:
|
||||
// AZ::Component overrides...
|
||||
void Init() override;
|
||||
void Activate() override;
|
||||
void Deactivate() override;
|
||||
|
||||
// PerformanceMonitorRequestBus::Handler interface overrides...
|
||||
void SetProfilerEnabled(bool enabled) override;
|
||||
void GatherMetrics() override;
|
||||
const PerformanceMetrics& GetMetrics() override;
|
||||
|
||||
void UpdateMetrics();
|
||||
void ResetStats();
|
||||
|
||||
bool m_profilingEnabled = false;
|
||||
|
||||
AZ::Statistics::RunningStatistic m_cpuFrameTimeMs;
|
||||
AZ::Statistics::RunningStatistic m_gpuFrameTimeMs;
|
||||
|
||||
PerformanceMetrics m_metrics;
|
||||
|
||||
// Number of samples to average for each metric
|
||||
static constexpr int SampleCount = 10;
|
||||
int m_sample = 0;
|
||||
};
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/EBus/EBus.h>
|
||||
#include <Viewport/PerformanceMetrics.h>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
//! Provides communication with Performance Monitor
|
||||
class PerformanceMonitorRequests
|
||||
: public AZ::EBusTraits
|
||||
{
|
||||
public:
|
||||
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
|
||||
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
|
||||
|
||||
//! Enable or disable CPU and GPU monitoring
|
||||
//! @param enabled whether performance monitoring should be enabled
|
||||
virtual void SetProfilerEnabled(bool enabled) = 0;
|
||||
//! Gather performance metrics for the current frame
|
||||
virtual void GatherMetrics() = 0;
|
||||
//! Get current metrics
|
||||
virtual const PerformanceMetrics& GetMetrics() = 0;
|
||||
};
|
||||
|
||||
using PerformanceMonitorRequestBus = AZ::EBus<PerformanceMonitorRequests>;
|
||||
} // namespace MaterialEditor
|
||||
@@ -10,6 +10,7 @@
|
||||
#include <Atom/RPI.Edit/Material/MaterialSourceData.h>
|
||||
#include <Atom/RPI.Edit/Material/MaterialTypeSourceData.h>
|
||||
#include <AtomToolsFramework/Document/AtomToolsDocumentSystemRequestBus.h>
|
||||
#include <AtomToolsFramework/PerformanceMonitor/PerformanceMonitorRequestBus.h>
|
||||
#include <AtomToolsFramework/Util/Util.h>
|
||||
#include <AzQtComponents/Components/StyleManager.h>
|
||||
#include <AzQtComponents/Components/WindowDecorationWrapper.h>
|
||||
@@ -19,7 +20,6 @@
|
||||
#include <Window/MaterialEditorWindow.h>
|
||||
#include <Window/MaterialEditorWindowSettings.h>
|
||||
#include <Window/MaterialInspector/MaterialInspector.h>
|
||||
#include <Window/PerformanceMonitor/PerformanceMonitorWidget.h>
|
||||
#include <Window/SettingsDialog/SettingsDialog.h>
|
||||
#include <Window/ViewportSettingsInspector/ViewportSettingsInspector.h>
|
||||
|
||||
@@ -30,6 +30,7 @@ AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnin
|
||||
#include <QDesktopServices>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QStatusBar>
|
||||
#include <QUrl>
|
||||
#include <QWindow>
|
||||
AZ_POP_DISABLE_WARNING
|
||||
@@ -95,10 +96,7 @@ namespace MaterialEditor
|
||||
|
||||
AddDockWidget("Inspector", new MaterialInspector, Qt::RightDockWidgetArea, Qt::Vertical);
|
||||
AddDockWidget("Viewport Settings", new ViewportSettingsInspector, Qt::LeftDockWidgetArea, Qt::Vertical);
|
||||
AddDockWidget("Performance Monitor", new PerformanceMonitorWidget, Qt::BottomDockWidgetArea, Qt::Horizontal);
|
||||
|
||||
SetDockWidgetVisible("Viewport Settings", false);
|
||||
SetDockWidgetVisible("Performance Monitor", false);
|
||||
|
||||
// Restore geometry and show the window
|
||||
mainWindowWrapper->showFromSettings();
|
||||
@@ -114,6 +112,14 @@ namespace MaterialEditor
|
||||
}
|
||||
|
||||
OnDocumentOpened(AZ::Uuid::CreateNull());
|
||||
|
||||
SetupMetrics();
|
||||
}
|
||||
|
||||
MaterialEditorWindow::~MaterialEditorWindow()
|
||||
{
|
||||
AtomToolsFramework::PerformanceMonitorRequestBus::Broadcast(
|
||||
&AtomToolsFramework::PerformanceMonitorRequestBus::Handler::SetProfilerEnabled, false);
|
||||
}
|
||||
|
||||
void MaterialEditorWindow::ResizeViewportRenderTarget(uint32_t width, uint32_t height)
|
||||
@@ -207,6 +213,38 @@ namespace MaterialEditor
|
||||
|
||||
Base::closeEvent(closeEvent);
|
||||
}
|
||||
|
||||
void MaterialEditorWindow::SetupMetrics()
|
||||
{
|
||||
m_statusBarCpuTime = new QLabel(this);
|
||||
statusBar()->addPermanentWidget(m_statusBarCpuTime);
|
||||
m_statusBarGpuTime = new QLabel(this);
|
||||
statusBar()->addPermanentWidget(m_statusBarGpuTime);
|
||||
m_statusBarFps = new QLabel(this);
|
||||
statusBar()->addPermanentWidget(m_statusBarFps);
|
||||
|
||||
static constexpr int UpdateIntervalMs = 1000;
|
||||
m_metricsTimer.setInterval(UpdateIntervalMs);
|
||||
m_metricsTimer.start();
|
||||
connect(&m_metricsTimer, &QTimer::timeout, this, &MaterialEditorWindow::UpdateMetrics);
|
||||
|
||||
AtomToolsFramework::PerformanceMonitorRequestBus::Broadcast(
|
||||
&AtomToolsFramework::PerformanceMonitorRequestBus::Handler::SetProfilerEnabled, true);
|
||||
|
||||
UpdateMetrics();
|
||||
}
|
||||
|
||||
void MaterialEditorWindow::UpdateMetrics()
|
||||
{
|
||||
AtomToolsFramework::PerformanceMetrics metrics = {};
|
||||
AtomToolsFramework::PerformanceMonitorRequestBus::BroadcastResult(
|
||||
metrics, &AtomToolsFramework::PerformanceMonitorRequestBus::Handler::GetMetrics);
|
||||
|
||||
m_statusBarCpuTime->setText(tr("CPU Time %1 ms").arg(QString::number(metrics.m_cpuFrameTimeMs, 'f', 2)));
|
||||
m_statusBarGpuTime->setText(tr("GPU Time %1 ms").arg(QString::number(metrics.m_gpuFrameTimeMs, 'f', 2)));
|
||||
int frameRate = metrics.m_cpuFrameTimeMs > 0 ? aznumeric_cast<int>(1000 / metrics.m_cpuFrameTimeMs) : 0;
|
||||
m_statusBarFps->setText(tr("FPS %1").arg(QString::number(frameRate)));
|
||||
}
|
||||
} // namespace MaterialEditor
|
||||
|
||||
#include <Window/moc_MaterialEditorWindow.cpp>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option") // disable warnings spawned by QT
|
||||
#include <Viewport/MaterialViewportWidget.h>
|
||||
#include <Window/ToolBar/MaterialEditorToolBar.h>
|
||||
#include <QTimer>
|
||||
AZ_POP_DISABLE_WARNING
|
||||
#endif
|
||||
|
||||
@@ -33,7 +34,7 @@ namespace MaterialEditor
|
||||
using Base = AtomToolsFramework::AtomToolsDocumentMainWindow;
|
||||
|
||||
MaterialEditorWindow(QWidget* parent = 0);
|
||||
~MaterialEditorWindow() = default;
|
||||
~MaterialEditorWindow();
|
||||
|
||||
protected:
|
||||
void ResizeViewportRenderTarget(uint32_t width, uint32_t height) override;
|
||||
@@ -48,7 +49,14 @@ namespace MaterialEditor
|
||||
|
||||
void closeEvent(QCloseEvent* closeEvent) override;
|
||||
|
||||
void SetupMetrics();
|
||||
void UpdateMetrics();
|
||||
|
||||
MaterialViewportWidget* m_materialViewport = {};
|
||||
MaterialEditorToolBar* m_toolBar = {};
|
||||
QLabel* m_statusBarFps = {};
|
||||
QLabel* m_statusBarCpuTime = {};
|
||||
QLabel* m_statusBarGpuTime = {};
|
||||
QTimer m_metricsTimer;
|
||||
};
|
||||
} // namespace MaterialEditor
|
||||
|
||||
-57
@@ -1,57 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <Viewport/PerformanceMonitorRequestBus.h>
|
||||
#include <Window/PerformanceMonitor/PerformanceMonitorWidget.h>
|
||||
#include <Window/PerformanceMonitor/ui_PerformanceMonitorWidget.h>
|
||||
|
||||
#include <QTimer>
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
PerformanceMonitorWidget::PerformanceMonitorWidget(QWidget* parent)
|
||||
: QWidget(parent)
|
||||
, m_ui(new Ui::PerformanceMonitorWidget)
|
||||
{
|
||||
m_ui->setupUi(this);
|
||||
|
||||
|
||||
m_updateTimer.setInterval(UpdateIntervalMs);
|
||||
connect(&m_updateTimer, &QTimer::timeout, this, &PerformanceMonitorWidget::UpdateMetrics);
|
||||
}
|
||||
|
||||
PerformanceMonitorWidget::~PerformanceMonitorWidget() = default;
|
||||
|
||||
void PerformanceMonitorWidget::showEvent(QShowEvent* event)
|
||||
{
|
||||
QWidget::showEvent(event);
|
||||
|
||||
m_updateTimer.start();
|
||||
PerformanceMonitorRequestBus::Broadcast(&PerformanceMonitorRequestBus::Handler::SetProfilerEnabled, true);
|
||||
}
|
||||
|
||||
void PerformanceMonitorWidget::hideEvent(QHideEvent* event)
|
||||
{
|
||||
QWidget::hideEvent(event);
|
||||
|
||||
m_updateTimer.stop();
|
||||
PerformanceMonitorRequestBus::Broadcast(&PerformanceMonitorRequestBus::Handler::SetProfilerEnabled, false);
|
||||
}
|
||||
|
||||
void PerformanceMonitorWidget::UpdateMetrics()
|
||||
{
|
||||
PerformanceMetrics metrics;
|
||||
PerformanceMonitorRequestBus::BroadcastResult(metrics, &PerformanceMonitorRequestBus::Handler::GetMetrics);
|
||||
m_ui->m_cpuFrameTimeValue->setText(QString("%1 ms").arg(QString::number(metrics.m_cpuFrameTimeMs, 'f', 2)));
|
||||
m_ui->m_gpuFrameTimeValue->setText(QString("%1 ms").arg(QString::number(metrics.m_gpuFrameTimeMs, 'f', 2)));
|
||||
int frameRate = metrics.m_cpuFrameTimeMs > 0 ? aznumeric_cast<int>(1000 / metrics.m_cpuFrameTimeMs) : 0;
|
||||
m_ui->m_frameRateValue->setText(QString::number(frameRate));
|
||||
}
|
||||
} // namespace MaterialEditor
|
||||
|
||||
#include <Window/PerformanceMonitor/moc_PerformanceMonitorWidget.cpp>
|
||||
-44
@@ -1,44 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) Contributors to the Open 3D Engine Project.
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTimer>
|
||||
|
||||
namespace Ui
|
||||
{
|
||||
class PerformanceMonitorWidget;
|
||||
}
|
||||
|
||||
namespace MaterialEditor
|
||||
{
|
||||
//! Displays performance metrics for Material Editor
|
||||
class PerformanceMonitorWidget
|
||||
: public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
PerformanceMonitorWidget(QWidget* parent = nullptr);
|
||||
~PerformanceMonitorWidget();
|
||||
|
||||
private slots:
|
||||
void UpdateMetrics();
|
||||
|
||||
private:
|
||||
void showEvent(QShowEvent* event) override;
|
||||
void hideEvent(QHideEvent* event) override;
|
||||
|
||||
QScopedPointer<Ui::PerformanceMonitorWidget> m_ui;
|
||||
QTimer m_updateTimer;
|
||||
|
||||
|
||||
//! interval to request performance metrics
|
||||
static constexpr int UpdateIntervalMs = 1000;
|
||||
};
|
||||
} // namespace MaterialEditor
|
||||
-133
@@ -1,133 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>PerformanceMonitorWidget</class>
|
||||
<widget class="QWidget" name="PerformanceMonitorWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>237</width>
|
||||
<height>200</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>200</width>
|
||||
<height>200</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Performance Monitor</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="m_frameRateLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="m_frameRateTitle">
|
||||
<property name="text">
|
||||
<string>Frame Rate:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_frameRateValue">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="m_cpuFrameTimeLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="m_cpuFrameTimeTitle">
|
||||
<property name="text">
|
||||
<string>CPU Frame Time:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_cpuFrameTimeValue">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="m_gpuFrameTimeLayout">
|
||||
<item>
|
||||
<widget class="QLabel" name="m_gpuFrameTimeTitle">
|
||||
<property name="text">
|
||||
<string>GPU Frame Time:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_gpuFrameTimeValue">
|
||||
<property name="text">
|
||||
<string>0</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>67</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
@@ -23,8 +23,6 @@ set(FILES
|
||||
Source/Viewport/MaterialViewportSettings.h
|
||||
Source/Viewport/MaterialViewportRequestBus.h
|
||||
Source/Viewport/MaterialViewportNotificationBus.h
|
||||
Source/Viewport/PerformanceMetrics.h
|
||||
Source/Viewport/PerformanceMonitorRequestBus.h
|
||||
Source/Viewport/InputController/MaterialEditorViewportInputController.cpp
|
||||
Source/Viewport/InputController/MaterialEditorViewportInputController.h
|
||||
Source/Viewport/InputController/Behavior.cpp
|
||||
@@ -49,8 +47,6 @@ set(FILES
|
||||
Source/Viewport/MaterialViewportWidget.cpp
|
||||
Source/Viewport/MaterialViewportWidget.h
|
||||
Source/Viewport/MaterialViewportWidget.ui
|
||||
Source/Viewport/PerformanceMonitorComponent.cpp
|
||||
Source/Viewport/PerformanceMonitorComponent.h
|
||||
|
||||
Source/Window/MaterialEditorWindowSettings.h
|
||||
Source/Window/MaterialEditorBrowserInteractions.h
|
||||
@@ -67,9 +63,6 @@ set(FILES
|
||||
Source/Window/CreateMaterialDialog/CreateMaterialDialog.cpp
|
||||
Source/Window/CreateMaterialDialog/CreateMaterialDialog.h
|
||||
Source/Window/CreateMaterialDialog/CreateMaterialDialog.ui
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.cpp
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.h
|
||||
Source/Window/PerformanceMonitor/PerformanceMonitorWidget.ui
|
||||
Source/Window/ToolBar/MaterialEditorToolBar.h
|
||||
Source/Window/ToolBar/MaterialEditorToolBar.cpp
|
||||
Source/Window/ToolBar/ModelPresetComboBox.h
|
||||
|
||||
Reference in New Issue
Block a user