Playnite icon indicating copy to clipboard operation
Playnite copied to clipboard

Slow image loading VS slow scrolling : increase RAM usage ?

Open Heraes-git opened this issue 2 years ago • 6 comments

Feature description

Hello.

Since a few months/years, I have activated async image loading in Playnite's options, to avoid the scrolling slowdown due to a big library. This is achieved by reaching the Options (F4) -> Other -> Performances and checking the □ Async images loading option.

Unfortunately, I regularly experience a "not so important but still annoying" feeling of covers not being loaded temporarily when scrolling fast enough, this indeed being made (designed by intent) to avoid scrolling stutters.

PROBLEM

This can seem to be a caprice, but when scrolling a big library, we want to scroll fast (and keep track of where we are, based on the covers we see), but the eye can't follow the rythm of the scrolling because of that "wait-during-loading" effect. This leading to a lack of accuracy when scrolling and the need to stop scrolling to know where we are positionned.

I know that this is better than a complete stuttering of the libray, but I noticed one thing (see the section below).

OBSERVATION

  1. I noticed that when disabling Async images loading, and the complete stuttering being back, it tends to be less stuttery when explored the whole library, but not perfectly : it seems to have a problem of memorizing, like if it has a maximum of covers it can cache.

  2. With Async images loading ON, when scrolling back and forth it seems that Playnites doesn't remember the images : they are always "in queue to be re-generated/re-displayed" then "finally displayed", as if there was no cache at all.

The point n°2 can be made by design, but I still will express a request (at the end).

INTUITION

I feel that this is RAM-related, like if Playnite had a range of images in memory, above and below the view edges (especially with Async ON, where it is dramatically reduced), so that when scrolling, it was re-loading covers in direction of the scrolling, and unloading the ones in the opposite direction.

Actually, this "cache" or "memory" seems to be near zero when Async images loading is activated (you can confirm this by doing a tiny scrolling back and forth, very fast).

QUESTION

I wonder if that could be avoided by caching more images above and below the view in Playnite ? This could help displaying covers immediately by this process : during the display of those "cached" images entering the view during the fast scrolling, the one to be generated in the future (and added to the cache) could take the same time as they usually do except that they would take it far away outside of the view, instead of inside or very near the view.

POTENTIAL REQUEST

  • An option to select the amount of cache used for the display in grid-mod, even with Async ON (note : it should be applied on the view dynamically, instead of the whole library from the begining ; or the problem will re-occur).

COMMENT

I suppose that Async images loading OFF makes Playnite to stutter BECAUSE it is trying to cache a big chunk of the library (or maybe pre-loading far away from the view, with no real caching? Or a mix of the two ?). So if by chance that's the case, you might reply "consequently, using cache won't solve the problem with Async ON given that we totally disable it for that feature to work".

But I think that we should be able to have a minimal cache, correctly set so it doesn't trigger one problem or the other. If I'm uncorrect about cache/RAM usage by Playnite, please still explain how it works so if someone has a better clue on how to improve the display, it can propose a further improvement. ;)

Thanks for the reading Josef.

Heraes-git avatar Sep 04 '23 23:09 Heraes-git

  1. post a video of the issue
  2. post what PC configuration you have

JosefNemec avatar Dec 02 '23 13:12 JosefNemec

http://www.8651748351.duckdns.org/public/host/playnite_forum/Playnite_scroll_thumbnails.mkv Hosted at home, so no streaming, have to download it.

Config : CPU 12 cores at 3Ghz 18 GB of RAM (DDR3) GTX 980 Windows 10 updated

Playnite config : Hardware acceleration OFF Async Images ON

Heraes-git avatar Dec 02 '23 13:12 Heraes-git

Here's a second video, with only a part of my games (category "emulation") and scrolling slowly with the elevator + scrolling with the mouse wheel at the end: http://www.8651748351.duckdns.org/public/host/playnite_forum/Playnite_scroll_thumbnails_2.mkv

Heraes-git avatar Dec 02 '23 13:12 Heraes-git

Why do you have hardware acceleration disabled? That has huge (bad) impact on UI performance in general.

JosefNemec avatar Dec 02 '23 13:12 JosefNemec

~~Because as I said once on the forum, it screws all the scrolling, wich became laggy as hell.~~

Heraes-git avatar Dec 02 '23 13:12 Heraes-git

Ok I'have enabled and disabled it, no changes. Still the same problem with the thumbnails.

EDIT : also have tried the three modes of quality for thumbnails, no improvments.

Heraes-git avatar Dec 02 '23 13:12 Heraes-git