x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

[Closed] What is the purpose of the GPU Skin Cache?

Hello,

What is the purpose of the GPU Skin Cache and will it ever be enabled by default in a future engine release for certain feature levels? Is it considered experimental?

From what I can tell, it appears to do mesh skinning in a Compute Shader and cache the results for a simpler pass-through mesh skinning Vertex Shader. I imagine this might be beneficial when rendering multiple skinned meshes with the same poses in a small window (i.e. GPUSKINCACHE_FRAMES, currently 3) of frames, at the cost of additional memory? Ignoring that potential benefit, does this improve performance in any way by moving the skinning out of the VS stage?

Thanks,

Product Version: Not Selected
Tags:
more ▼

asked Sep 19 '16 at 07:57 PM in Rendering

avatar image

Answers.Archive STAFF
1.8k 189 298 661

(comments are locked)
10|2000 characters needed characters left

The question has been closed Sep 19 '16 at 08:11 PM by AndrewHurley for the following reason:

The question is answered, right answer was accepted


1 answer: sort voted first

In a very similar way to what you mentioned, but the vertices don't need to be transformed over and over in the same frame for depth pass, bass pass, shadow pass, velocity pass, and etc. Also I could see in the future potentially skinning occurring using async compute for the next frame. Another experiment we could do: GPUSKINCACHE_FRAMES can be integrated with a LOD system so less relevant meshes are updated less frequently.

more ▼

answered Sep 19 '16 at 07:57 PM

avatar image

Answers.Archive STAFF
1.8k 189 298 661

avatar image Answers.Archive STAFF Sep 19 '16 at 07:57 PM

Hi Victor, it is experimental; one of the issues why we don't currently use it in our games is its memory cost. We'll be looking into optimizing this in the future. The biggest gains are when combined with Morph Targets on compute (which will also be exposed soon).

avatar image Xiangwk Jan 03 '19 at 06:09 AM

I have set the GEnableGPUSkinCacheShaders to 1 and use "r.SkinCache.Mode 1" to make UE4 use compute shader skinning, I found that it is not more effective than vertex shader skinning...Why? Is there still some problem in GPU Skin Cache, or I did the wrong operation? I put 300 SkeletonMeshes in my scene and they are do the same animation.

(comments are locked)
10|2000 characters needed characters left

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question