Re: NSOutlineView not lazy when expanding items :(
Re: NSOutlineView not lazy when expanding items :(
- Subject: Re: NSOutlineView not lazy when expanding items :(
- From: Jerry Krinock <email@hidden>
- Date: Tue, 16 Sep 2014 15:04:13 -0700
> On 2014 Sep 16, at 10:29, Jens Alfke <email@hidden> wrote:
>
> Maybe it's the animation that ends up dereferencing all the rows? I forget whether there's a way to disable the animations on an NSOutlineView …
I can’t find any such control, Jens.
* * *
Apparently, *someone* inside Apple knows how to make blazing fast outline view, but they don’t always use that knowledge…
• Activate Safari.
• Type ⇧⌘L, to show the Sidebar.
• In the Sidebar, select the middle tab (Reading List)
• Create a folder containing 18,000 bookmarks as immediate children. It’s OK if many of them are duplicates. (I have seen users with 10,000 - 15,000 like this.)
• Move that folder to the root level, near the top, so it will be readily visible when the “Edit Bookmarks” view opens.
• In Safari > Preferences > General, set “New windows open with” and “New tabs open with” to empty page.
• Close all windows.
• Quit Safari.
• Relaunch Safari.
• Quickly, type ⌥⌘B, to “Edit Bookmarks”. The Edit Bookmarks outline view appears immediately.
• Quickly again, find your big folder, and click its disclosure triangle, to expand it. The folder expands immediately, and will scroll as fast as you can swipe.
• Type ⇧⌘L, to show the Sidebar.
• In the Sidebar, select the left tab (Bookmarks). Safari may beachball for about a minute, if it thinks that your big folder should be expanded.
• If it beachballed and your big folder in the Sidebar is expanded, collapse it.
• Click your big folder's disclosure triangle (again), to expand it. Safari will beachball for about a minute before showing the 18,000 bookmarks.
If you sample Safari during the beachballing, you’ll see that the cost is in
-[BookmarksSidebarViewController outlineView:child:ofItem:]
Presumably BookmarksSidebarViewController is the data source for the outline view in the sidebar. This is the same issue shown in the demo app mentioned in my previous post, and the same issue I’m seeing in my actual app. But the fact that the Edit Bookmarks view can expand a huge folder immediately within seconds of launch seems to prove that there is a solution. Of course, maybe it’s not an NSOutlineView.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden