This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Optimize for Thermal

Hi,

I'd like to know ways to profile for thermal. Our game performance is reasonable in a S6 but it overheats in a fews minutes. Is there an api to trottle CPU/GPU or a tool to profile the operations that are contributing more to overheat.

Parents
  • tool to profile the operations that are contributing more to overheat.

    On the whole the thermal load is purely a function of workload - every Watt of power into the GPU has to comes out as heat, and if your load is sufficiently high to push up the GPU operating frequency then your voltage goes up (energy efficiency per operation is proportional to V^2) which exacerbates the problem. Also remember that device battery life and heat are basically coupled, so if your game is getting the device really warm then you are also sucking the battery down pretty fast, so reducing load can improve play times between charges.

    There are some differences in energy cost - texturing is more expensive than a simple maths operation, for example - but on the whole thermal issues just come down to trying to do too much in a mobile form factor (GPUs inside sealed boxes with no airflow are in a pretty unforgiving thermal environment). Things to consider:

    • Broad brush:
      • Running complex 3D content at native 2560x1440 is often overkill - can you run at 1080p or even 720p?
      • Do you need to run at 60FPS - for complex 3D games a consistent 30FPS is often preferable?
    • Fine tuning:
      • Use texture compression and/or reduce resolution, etc as suggested by McGeagh (bandwidth is expensive).
      • One vertex is considerably more expensive than one texel - aggressively optimize geometry meshes (get good locality, good vertex reuse in meshes, remove unused attributes, use fp16 attributes, keep triangle sizes reasoanbly large), and if needed subsitute geometry with meta-geometry techniques such as normal mapping.

    HTH,
    Pete

Reply
  • tool to profile the operations that are contributing more to overheat.

    On the whole the thermal load is purely a function of workload - every Watt of power into the GPU has to comes out as heat, and if your load is sufficiently high to push up the GPU operating frequency then your voltage goes up (energy efficiency per operation is proportional to V^2) which exacerbates the problem. Also remember that device battery life and heat are basically coupled, so if your game is getting the device really warm then you are also sucking the battery down pretty fast, so reducing load can improve play times between charges.

    There are some differences in energy cost - texturing is more expensive than a simple maths operation, for example - but on the whole thermal issues just come down to trying to do too much in a mobile form factor (GPUs inside sealed boxes with no airflow are in a pretty unforgiving thermal environment). Things to consider:

    • Broad brush:
      • Running complex 3D content at native 2560x1440 is often overkill - can you run at 1080p or even 720p?
      • Do you need to run at 60FPS - for complex 3D games a consistent 30FPS is often preferable?
    • Fine tuning:
      • Use texture compression and/or reduce resolution, etc as suggested by McGeagh (bandwidth is expensive).
      • One vertex is considerably more expensive than one texel - aggressively optimize geometry meshes (get good locality, good vertex reuse in meshes, remove unused attributes, use fp16 attributes, keep triangle sizes reasoanbly large), and if needed subsitute geometry with meta-geometry techniques such as normal mapping.

    HTH,
    Pete

Children