Reduce display_map snapshot creation (#39354)
Re-applies https://github.com/zed-industries/zed/pull/30840 This PR re-applies the initial [PR](https://github.com/zed-industries/zed/pull/30840). As it was closed because it was hard to land, because of the many conflicts. This PR re-applies the changes for it. In several cases we were creating multiple display_map snapshots within the same root-level function call. Creating a display_map snapshot is quite slow, and in some cases we were creating the snapshot multiple times. Release Notes: - N/A
This commit is contained in:
@@ -2295,7 +2295,10 @@ async fn test_clipping_on_mode_change(cx: &mut gpui::TestAppContext) {
|
||||
|
||||
let mut pixel_position = cx.update_editor(|editor, window, cx| {
|
||||
let snapshot = editor.snapshot(window, cx);
|
||||
let current_head = editor.selections.newest_display(cx).end;
|
||||
let current_head = editor
|
||||
.selections
|
||||
.newest_display(&snapshot.display_snapshot)
|
||||
.end;
|
||||
editor.last_bounds().unwrap().origin
|
||||
+ editor
|
||||
.display_to_pixel_point(current_head, &snapshot, window)
|
||||
|
||||
Reference in New Issue
Block a user