-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Feature: Major Speed Optimizations #17345
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature: Major Speed Optimizations #17345
Conversation
Performance improvements for file navigation and enumeration: - Increased concurrency limits: 4 concurrent folder enumerations, 20 concurrent thumbnail loads - Implemented smart preloading for visible items with viewport-based loading - Added differential collection updates to prevent UI flashing - Increased batch size from 32 to 200 items for better throughput - Added icon caching with WeakReference for memory efficiency - Removed expensive async operations during file enumeration - Added performance monitoring for slow operations - Fixed icon flashing by setting LoadFileIcon = true immediately - Optimized zip file detection to avoid unnecessary async calls These changes significantly improve perceived performance and reduce UI lag during file navigation. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
} | ||
else | ||
{ | ||
if (ZipStorageFolder.IsZipPath(itemPath) && await ZipStorageFolder.CheckDefaultZipApp(itemPath)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note, changing this logic is likely to cause issues.
#6457
{ | ||
_ = Task.Run(async () => | ||
{ | ||
await Task.Delay(500); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hishitetsu can confirm, but if I recall correctly, this delay is to allow time for Windows to finish caching the thumbnail for items in cloud drives.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correct. Without this delay, thumbnails will not be able to load.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need a comment for this fr...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is one a little higher up. That said, there are a lot of intricacies and this code is difficult to follow even with comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for jumping in here, but is this related to the very slow performance in a business environment where OneDrive is continuously syncing with the local C: drive? Opening folders is extremely slow (multiple seconds) even when a folder was recently open. Could this be changed to a setting preference? Many users (like me) do not need thumbnails or would sacrifice them for extremely high performance.
- Fixed TaskCanceledException by using local cancellation tokens instead of global ones - Improved error handling with try-catch blocks around all async operations - Enhanced viewport detection with larger buffers for smoother scrolling - Added Ctrl+Shift+T hotkey to force load all missing thumbnails - Implemented progressive thumbnail loading with priority system - Added low-resolution thumbnail pre-loading for better performance - Fixed race conditions in concurrent thumbnail operations - Added proper disposal of resources in Dispose method - Improved scroll throttling to prevent excessive thumbnail loads These changes significantly improve thumbnail reliability and prevent crashes during fast scrolling or navigation.
There's a few issues, I had one time where all the folders icons would be the same in medium layout size, I have restarted and not been able to reproduce it It's also slower for me then in preview, clicking on a folder takes a while to start highlighting it and then only after it's highlighted will it open |
97999e5
to
806f922
Compare
Closing due to inactivity. |
Performance improvements for file navigation and enumeration:
These changes significantly improve perceived performance and reduce UI lag during file navigation.