I’m writing in to document this, because I coudn’t find any reference to it. The Unreal Engine should probably get some sort of thermal management for mobile. For example, the Samsung Galaxy S4 mini completely freezes and then hard resets when I render too many additive particles. The last line in the logcat output is:
10-02 14:33:15.000 215 274 I ThermalDaemon: Sensor 'tsens_tz_sensor9' - alarm raised 1 at 71.0 degC
So probably the UE should by itself monitor the device’s thermal sensors and throttle FPS if we’re getting too warm. A quick grep of the source showed me that there currently isn’t anything like this in place. Hard-limiting the FPS with t.MaxFPS in a device profile seems like an OK interim solution, but that still doesn’t protect me against cases where too many effects spawn at the same time, i.e. where one frame by itself is too much for the GPU to stomach temperature-wise.
To give you an idea of how easy this particular device triggers - I’m spawning 10 particle systems with 3 particles each. The particles cover the full screen with about 2x average overdraw (in addition to the base pass) and are additive and only read from one texture. r.MobileHDR (and thus Bloom) were off during my tests. So blending 2 full-screen additive post passes might be enough to reliably overheat this device into a hard reset ~_~