@billrey @brecht @Hypersomniac Sorry for the shoutout, but even after the latest addition of new preview system this here is still a massive problem and I hope there are plans in works to solve it.
What we do for example in our material library is switch all texture paths to 2048 or 1024 or 512 resolutions and that effectively makes Blender throw away all material previews although that might not be the case. I am not sure what causes Blender to get rid of previews, maybe it’s because some NodeGroups are used in many materials but I seldomly change those.
But the bigger issue is how badly rendering previews is implemented in Eevee. It hogs 99% of the GPU making everything unresponsive and in scenes with many materials this absolute crawl can go on for a couple of minutes eventually resulting in unavoidable Blender crash (given there are enough materials).
I guess it’s very much against the goal to reduce buttons but if there was an option (in User Prefs) to turns rendering those freaking tiny 16x16 px previews that are so small they are virtually useless I would turn it off in an instant.
My Blender crashed 2 times in a row right now because when I click to change material - and I know perfectly well which one without the previews - it loads all the textures one by one gradually filling up my vRam, then Windows goes black, most applications like Chrome, Photoshop, VLC and also Blender crash and then gradually everything starts responding again.
I don’t know too much about programming but I know that this is definitely not helpful behavior. Blender is essentially hogging performance of my computer for unwanted reasons. I don’t want those previews if they cost me so much focus and time.
Sincerely Blender 2.8 is awesome except for this. This is simply just poor implementation at the moment and it’s a shame because everything else works so well, hell I even fit three hundred 2048x2048 textures into vRam and it loaded in about 2-4 minutes and worked flawlessly. While rendering those previews takes ages, freezes the computer and eventually crashes Blender.