ITADN

Layout Invalidation Performance

#118Pull Requestthecoolwinter 创建于 2025-07-21
T
thecoolwintercommented
### Description - Added a new debug mode for visualizing line fragment invalidation. - Adjusted the layout pass to avoid typesetting lines that don't need layout. - Made a distinction between 'forced layout' via `setNeedsLayout` and 'continued' layout where a line previously scanned in the layout pass was updated. - Due to that, I was able to check if a line fragment actually needed typesetting or just potentially needed to have it's position adjusted. - Added a new method to update a line's view's positions during layout. - Removed the unnecessary `lineRange` variable on the `LineFragment` class. - Adjusted the use of `documentRange` on the `LineFragment` class. It's now updated during layout, simplifying various methods. ### Related Issues * N/A ### Checklist - [x] I read and understood the [contributing guide](https://github.com/CodeEditApp/CodeEdit/blob/main/CONTRIBUTING.md) as well as the [code of conduct](https://github.com/CodeEditApp/CodeEdit/blob/main/CODE_OF_CONDUCT.md) - [x] The issues this PR addresses are related to each other - [x] My changes generate no new warnings - [x] My code builds and runs on my machine - [x] My changes are all related to the related issue above - [x] I documented my code ### Screenshots Before: https://github.com/user-attachments/assets/05027712-5690-4970-b1ab-e0b4fe9553ec After: https://github.com/user-attachments/assets/36350ea1-66d8-43d0-a676-1bb770a733d7
合并状态:未合并 0 条评论