mirror of
https://github.com/1Remote/1Remote.git
synced 2026-04-25 13:36:03 +03:00
[PR #994] [CLOSED] Optimize WPF UI performance: eliminate thread blocking, reduce timer frequency, and enhance virtualization #2851
Labels
No labels
area-configuration
area-ct-app
area-ct-rdp
area-ct-remoteapp
area-ct-ssh
area-ct-vnc
area-launcher
area-list
area-tags
area-teamwork
bug
chore
dependencies
general-build/ci
general-performance
general-refactor
general-security
general-supportive
general-ux
meta-documentation
meta-enhancement
meta-enhancement
meta-feature
meta-help-wanted
meta-unknown-error
priority-hi
priority-low
pull-request
question
resolution-duplicate
resolution-invalid
resolution-wontfix
stale
task-put-off
task-still-considering
task-working-in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/1Remote#2851
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/1Remote/1Remote/pull/994
Author: @Copilot
Created: 9/24/2025
Status: ❌ Closed
Base:
main← Head:copilot/fix-1a842979-9528-4fee-b092-99d4c3267e39📝 Commits (2)
28fa8bbInitial planb433231Implement key WPF UI performance optimizations📊 Changes
6 files changed (+45 additions, -18 deletions)
View changed files
📝
Ui/Model/GlobalData_Timer.cs(+8 -2)📝
Ui/Service/SecondaryVerificationHelper.cs(+9 -3)📝
Ui/Service/SessionControlService_WindowControl.cs(+11 -7)📝
Ui/View/Host/ProtocolHosts/IntegrateHost.xaml.cs(+2 -2)📝
Ui/View/ServerView/List/ServerListPageView.xaml(+3 -2)📝
Ui/View/Settings/General/GeneralSettingView.xaml.cs(+12 -2)📄 Description
This PR addresses several critical performance bottlenecks in the WPF UI that were causing responsiveness issues, especially during startup, data loading, and background operations.
Key Performance Issues Fixed
1. UI Thread Blocking Operations
The application was using
Thread.Sleep()in several critical paths, causing the UI to freeze:2. Excessive Timer Frequency
The GlobalData timer was running every 1000ms, causing unnecessary CPU usage and UI updates:
3. Memory Management Issues
Forced garbage collection was causing performance stuttering:
Changes Made
Async Operation Improvements
Thread.SleepwithTask.Delayin process startupTimer and Background Operations
UI Virtualization Enhancements
VirtualizationMode="Recycling"for better memory usagex:Shared="False"to prevent resource sharing issuesPerformance Impact
These optimizations deliver significant performance improvements:
Backward Compatibility
All changes maintain 100% backward compatibility:
The improvements will be most noticeable during application startup, large server list operations, background data synchronization, and window management operations.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.