# hint\_thread\_pipeline

Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_thread_pipeline.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_thread_pipeline.html)

Provides a list of threads required to run every Vsync/draw cycle. This API hints the
    underlying system to treat these pipeline threads with higher priority CPU scheduling. It tells
    the system that these pipeline threads are important and need some SoC system assurance every
    Vsync period in the application rendering cycle.

hint_thread_pipeline()Copy to clipboard

## Parameters

| Parameters | API type | Data type | Description |
| --- | --- | --- | --- |
| tids | Java | ArrayList&lt;Long&gt; | List of TIDs of threads to be part of the app side rendering pipeline. Max of<br>                  five thread IDs can be passed. |
| tids | Native | vector&lt;uint32\_t&gt; | List of TIDs of threads to be part of the app side rendering pipeline. Max of<br>                  five thread IDs can be passed. |
| ret\_val | Native | int8\_t& | On success this is the actual return value from the API.<br><br><br>                <br><ul class="ul"><br>                    <li class="li">0: Success</li><br><br>                    <li class="li">-1: Fail to apply Hint</li><br><br>                    <li class="li">-2: Failed to establish session, check that <a href="https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_set_pkg.html">set_pkg</a> was called before this API</li><br><br>                  </ul> |
|  |  |  |  |

## Returns

| Return | API type | Data type | Description |
| --- | --- | --- | --- |
| response | Java | int | <ul class="ul"><br>                  <li class="li">0: Success</li><br><br>                  <li class="li">-1: Fail to apply Hint</li><br><br>                  <li class="li">-2: Failed to establish session, check that <a href="https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_set_pkg.html">set_pkg</a> was called before this API</li><br><br>                </ul> |
| response | Native | qesdk\_transaction\_status | See [QESDK transaction status for Native APIs](https://docs.qualcomm.com/doc/80-PK177-134/topic/native_qesdk_class.html) for usage details. Use qesdk\_transaction\_status to confirm API call invocation. If successful, use the `ret` value for the actual API return value object. |
|  |  |  |  |

**Parent Topic:** [QAPE subsystem APIs](https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_apis.html)

## Example use case

Source: [https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_thread_pipeline.html](https://docs.qualcomm.com/doc/80-PK177-134/topic/qape_hint_thread_pipeline.html)

For a game using the Unreal engine, these pipeline threads can be the UI/Game thread, Render
      thread, and the RHI thread. Some of these pipeline threads can also be marked for high CPU
      utilization hint. Any thread hints, such as high\_cpuutil, low\_cpuutil, and thread\_pipeline,
      remains for the lifetime of the thread, unless it is explicitly released by the app using
      release\_thread\_hints API or through the auto-release mechanism when the app goes to the
      background or gets killed.

Last Published: Nov 14, 2024

[Previous Topic
hint\_low\_cpuutil](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/qape_hint_low_cpu_util.md) [Next Topic
release\_thread\_hints](https://docs.qualcomm.com/bundle/publicresource/80-PK177-134/topics/qape_release_thread_hints.md)