From 1270aaf9eac23a03ee8e8ec6ceb9fc6cae6d6c65 Mon Sep 17 00:00:00 2001 From: Roy Date: Sat, 10 Mar 2018 20:05:42 +0200 Subject: Profiling and performance optimizations.. --- .../MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml | 10 +++++----- .../MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs | 13 +++++++++++++ .../Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs | 11 +++++++++++ .../ViewModels/MachineConnectionViewVM.cs | 9 ++++++++- .../Tango.MachineStudio.UI/ViewModels/ShutdownViewVM.cs | 4 +++- .../Tango.MachineStudio.UI/Views/LoadingView.xaml | 2 +- .../Tango.MachineStudio.UI/Views/ShutdownView.xaml | 2 +- .../Tango.MachineStudio.UI/Views/ShutdownView.xaml.cs | 8 +++++++- .../Tango.MachineStudio.UI/Views/UpdateView.xaml | 4 ++-- 9 files changed, 51 insertions(+), 12 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml index 63b2b3f6a..6b2bbaaec 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml @@ -14,7 +14,7 @@ - + @@ -22,16 +22,16 @@ - + - + - + - + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs index 36ee95f10..c4d9b4a28 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/MainWindow.xaml.cs @@ -10,7 +10,9 @@ using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; +using System.Windows.Interop; using System.Windows.Media; +using System.Windows.Media.Animation; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; @@ -30,6 +32,8 @@ namespace Tango.MachineStudio.UI public MainWindow() { + //Timeline.DesiredFrameRateProperty.OverrideMetadata(typeof(Timeline), new FrameworkPropertyMetadata { DefaultValue = 40 }); + try { InitializeComponent(); @@ -42,6 +46,15 @@ namespace Tango.MachineStudio.UI { LogManager.Log(ex); } + + this.Loaded += MainWindow_Loaded; + } + + private void MainWindow_Loaded(object sender, RoutedEventArgs e) + { + //HwndSource hwndSource = PresentationSource.FromVisual(this) as HwndSource; + //HwndTarget hwndTarget = hwndSource.CompositionTarget; + //hwndTarget.RenderMode = RenderMode.SoftwareOnly; } private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs index 7d83fa032..9ee8471ec 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs @@ -28,6 +28,14 @@ namespace Tango.MachineStudio.UI.ViewModels private LogManager logManager = LogManager.Default; public IStudioApplicationManager ApplicationManager { get; set; } + private bool _isLoading; + + public bool IsLoading + { + get { return _isLoading; } + set { _isLoading = value; RaisePropertyChangedAuto(); } + } + /// /// Initializes a new instance of the class. /// @@ -48,6 +56,8 @@ namespace Tango.MachineStudio.UI.ViewModels /// private void Load() { + IsLoading = true; + ThreadsHelper.StartStaThread(() => { try @@ -57,6 +67,7 @@ namespace Tango.MachineStudio.UI.ViewModels { _studioModuleLoader.LoadModules(); _navigationManager.NavigateTo(NavigationView.LoginView); + IsLoading = false; }); } catch (Exception ex) diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs index 23be8d274..4fcebe3dd 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineConnectionViewVM.cs @@ -49,7 +49,6 @@ namespace Tango.MachineStudio.UI.ViewModels { Scanner = scanner; ConnectCommand = new RelayCommand(Connect,(x) => SelectedMachine != null); - Scanner.Start(); } /// @@ -59,10 +58,17 @@ namespace Tango.MachineStudio.UI.ViewModels { if (SelectedMachine != null) { + Scanner.Stop(); Accept(); } } + protected override void Cancel() + { + Scanner.Stop(); + base.Cancel(); + } + /// /// Called when the dialog has been shown. /// @@ -70,6 +76,7 @@ namespace Tango.MachineStudio.UI.ViewModels { base.OnShow(); Scanner.AvailableMachines.Clear(); + Scanner.Start(); } } } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ShutdownViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ShutdownViewVM.cs index ed771f00a..92e0eb9b5 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ShutdownViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/ShutdownViewVM.cs @@ -3,13 +3,15 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.SharedUI; namespace Tango.MachineStudio.UI.ViewModels { /// /// Represents the Machine Studio shutdown view, view model. /// - public class ShutdownViewVM + public class ShutdownViewVM : ViewModel { + } } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml index 5f65100df..91fc11a22 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/LoadingView.xaml @@ -15,7 +15,7 @@ Machine Studio Twine Solutions - + Loading, please wait... diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml index dd86238ce..cc1060b2a 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml @@ -15,7 +15,7 @@ Machine Studio Twine Solutions - + Shutting Down, please wait... diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml.cs index e1d49aec0..afe6d3800 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/ShutdownView.xaml.cs @@ -12,17 +12,23 @@ using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; +using static Tango.SharedUI.Controls.MultiTransitionControl; namespace Tango.MachineStudio.UI.Views { /// /// Interaction logic for ShutdownView.xaml /// - public partial class ShutdownView : UserControl + public partial class ShutdownView : UserControl, ITransitionView { public ShutdownView() { InitializeComponent(); } + + public void OnTransitionCompleted() + { + progressRing.IsActive = true; + } } } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml index dabbaab94..e34cdb83b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/Views/UpdateView.xaml @@ -16,9 +16,9 @@ - + Update Center -- cgit v1.3.1