Description

A licensee is seeing performance drops while using the editor due to a custom thumbnail renderer taking a while to generate thumbnails while Real-Time Thumbnail rendering is enabled, and has requested that UThumbnailRenderer have some additional logic to gate potentially expensive thumbnail rendering operations from being performed in real-time, even with real-time thumbnails enabled.

The following options were suggested:

In UThumbnailRenderer, add an IsSlowToGenerate() method:

virtual bool IsSlowToGenerate const { return false; }

And use it within FAssetThumbnailPool::Tick() to gate any expensive thumbnails from being added to the RealTimeThumbnails list:

if (!RenderInfo->Renderer->IsSlowToGenerate())
{
RealTimeThumbnails.AddUnique(InfoRef);
}

Alternatively, in UThumbnailRenderer, add a GenerateForContentBrowser() method:

virtual bool GenerateForContentBrowser() const { return true; }

And check if a thumbnail should be generated when checking if the renderer is valid for an asset within AssetThumbnail.cpp:

if (RenderInfo != NULL && RenderInfo->Renderer != NULL && RenderInfo->Renderer->GenerateThumbnailForContentBrowser)) { /*...*/ }

Steps to Reproduce

See UDN link. Issue has the possibility to affect custom thumbnail renderers

Have Comments or More Details?

There's no existing public thread on this issue, so head over toAnswerHub just mention UE-36300 in the post.

0
Login to Vote

Backlogged
ComponentTools - Content Browser
Affects Versions4.114.124.13
CreatedSep 22, 2016
UpdatedApr 27, 2018