mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-09 17:41:14 +10:00
* Add startup performance tracing * Lazy initialize non-default tabs * Render install app entries incrementally * Defer and cache toggle status checks * Clean up runspace invocation ownership * Defer GUI runspace pool startup * Defer status taskbar asset rendering * Record final speed verification * Fix deferred install render timer callback * Add dispatcher smoke coverage for install rendering * Replace install render timer with dispatcher callbacks * Gate performance tracing behind compile switch * Clean up analyzer warnings in speed changes * Speed up runspace and tab initialization
46 lines
1.7 KiB
PowerShell
46 lines
1.7 KiB
PowerShell
function Initialize-WinUtilTabContent {
|
|
param(
|
|
[Parameter(Mandatory = $true)]
|
|
[string]$TabName
|
|
)
|
|
|
|
if ($null -eq $sync.InitializedTabs) {
|
|
$sync.InitializedTabs = @{}
|
|
}
|
|
|
|
if ($sync.InitializedTabs[$TabName]) {
|
|
return
|
|
}
|
|
|
|
switch ($TabName) {
|
|
"Install" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.appnavigation -targetGridName "appscategory" -columncount 1
|
|
Initialize-WPFUI -targetGridName "appscategory"
|
|
Write-WinUtilPerformanceCheckpoint -Name "App navigation UI created"
|
|
|
|
Initialize-WPFUI -targetGridName "appspanel"
|
|
Write-WinUtilPerformanceCheckpoint -Name "Install UI created"
|
|
}
|
|
"Tweaks" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.tweaks -targetGridName "tweakspanel" -columncount 2
|
|
Write-WinUtilPerformanceCheckpoint -Name "Tweaks UI created"
|
|
}
|
|
"Config" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.feature -targetGridName "featurespanel" -columncount 2
|
|
Write-WinUtilPerformanceCheckpoint -Name "Features UI created"
|
|
}
|
|
"AppX" {
|
|
Invoke-WPFUIElements -configVariable $sync.configs.appx -targetGridName "appxpanel" -columncount 2
|
|
Write-WinUtilPerformanceCheckpoint -Name "AppX UI created"
|
|
}
|
|
"Win11 Creator" {
|
|
if ($sync.Form -and $sync.Form.Dispatcher) {
|
|
$sync.Form.Dispatcher.BeginInvoke([System.Windows.Threading.DispatcherPriority]::Background, [action]{ Invoke-WinUtilISOCheckExistingWork }) | Out-Null
|
|
}
|
|
Write-WinUtilPerformanceCheckpoint -Name "Win11 ISO tab initialized"
|
|
}
|
|
}
|
|
|
|
$sync.InitializedTabs[$TabName] = $true
|
|
}
|