2023-12-14, 22:14
(2023-12-12, 23:58)ashlar Wrote:(2023-12-12, 21:56)CrystalP Wrote: It's unlikely that that PR will help, it's helpful when the scraping new movies to find a match with an existing library entry.
Do you have an external mysql/mariadb or use the builtin sqlite? When does it freeze, in the preparation of the list for browsing?
Built in sqlite. It freezes in preparation of the list for browsing.
The problem comes from loading all the thumbs before the screen opens:
c++:bool CGUIDialogVideoVersion::ConvertVideoVersion(const std:hared_ptr<CFileItem>& item)
...
CVideoThumbLoader loader;
for (auto& item : list)
{
loader.LoadItem(item.get());
item->SetLabel2(item->GetVideoInfoTag()->m_strFileNameAndPath);
}
The time spent is proportional to the number of items in library. Takes about 10 sec on my mid-range desktop too and 1600 movies, it's probably terrible on low power Android...
Hopefully there is a way to lazy-load the thumbs, as is done elsewhere for posters. Or the list needs to be limited, or to lazy-load the items as they come in view.
There also is a usability problem, how to efficiently select a movie out of thousands... Maybe move "similar" movies to the top of the list.