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"

Occlusion (or visibility) culling not working on mobile?

Currently when under SM5 rendering, I think culling is working correctly and draw calls are reduced significantly when I'm facing directly at the wall. However, when I switch to either ES2 rendering or deploy and play on an iPad, even when I'm facing directly at the wall and I can't see anything beyond the wall. It seems like everything behind the wall is still rendering (seems like I can see through the wall). I've attached screenshots to illustrate the problem.

SM5 rendering SM5 rendering

ES2 rendering ES2/mobile rendering

Is this expected behavior? How do I make the engine not render the objects behind walls as this is starting to give me performance issues when running on mobile?

Thanks!

Product Version: Not Selected
Tags:
sm5.jpg (131.8 kB)
es2.jpg (139.1 kB)
more ▼

asked Apr 15 '15 at 04:13 AM in Rendering

avatar image

HappyDenn
16 1 2 4

avatar image kodmistrz Jun 13 '15 at 10:09 PM

Bump this question. I have the same problem.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Hi -

Dynamic occlusion is not handled on mobile. You will want to use Precomputed Visibility Volumes around your playable areas. Then you can build lighting and it will use the cell size to handle occlusion on your devices.

There isn't a whole lot in the way of documentation for Unreal Engine 4 at the moment, but the documentation from UDK/UE3 is still fairly accurate with using this system. There are a couple of things that are no in UE4 that is demoed in this page, but it can still help you get it setup and working properly.

https://udn.epicgames.com/Three/PrecomputedVisibility.html

I hope this helps.

Tim

more ▼

answered Feb 03 '16 at 10:55 PM

avatar image

Tim Hobson ♦♦ STAFF
48.8k 888 103 878

avatar image EGDiamondDog Aug 04 '16 at 01:30 AM

Can you tell me why dynamic occlusion is not enabled on mobile? We are building a project with scenes that consist a lot of objects, therefore, occlusion culling is fairly important.

avatar image Tim Hobson ♦♦ STAFF Aug 04 '16 at 02:39 PM

@EGDiamondDog

Dynamic occlusion is expensive to put it lightly. These occlusion tests need to be sent to the GPU and then read back. The limitation of a lot of mobile devices is their capabilities to have a powerful GPU.

As far as Visibility and Occlusion culling goes this is the order they are considered from cheapest to most expensive:

  • Distance based (Per instance setting and Cull Distance Volumes)

  • View Frustum Culling

  • Precomputed (Precomputed Visibility Volumes)

  • Hardware Occlusion Queries (Dynamic occlusion)

As mobile devices become more powerful it may be possible for this to change. Even with dynamic occlusion as an option, it is always recommended to still use Cull Distance Volumes and Precomputed Visibility Volumes to reduce the need for the queries to be sent to the GPU. This is where a lot of performance loss can bottleneck by having so many actors to check their visibility state.

The only thing that makes Precomputed Visibility a bit more expensive is that it is precomputed and needs to store the information. The larger the are you're using precomputed visibility volumes to cover and the smaller the cell placement size the more the stored information will cost to decompress when being used.

Just to revisit and clarify, that Occlusion Culling is not removed from Mobile. There is just an alternative development process that gives all the options as before, just without dynamic occlusion queries. It put's the optimization in the developer's hands to keep in check, which everyone should do regardless.

There is documentation currently being worked on for Visibility Culling, Cull Distance Volumes, and Precomputed Visibility Volumes. The information on the UE3 pages is still fairly relevant, though.

https://udn.epicgames.com/Three/VisibilityCulling.html

I hope this helps!

Tim

avatar image Bater Apr 04 '19 at 11:53 PM

Is this still the case today?

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

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

Answers to this question