PvrTexLib and threading

Tagged: 

This topic contains 4 replies, has 4 voices, and was last updated by  Joe Davis 2 years, 8 months ago.

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • #31278

    vojtasg
    Member

    Is there a way to disable thread creation done ‘under the hood’ of pvrtexture::Transcode method (sdk 3.1)? Or even better – specify how many threads it can use?
    We are having signifficant problems on our build machine using PvrTexToolCL – it is using to much cores.
    I would like to write tool to transcode images to PVRTC1_4 format, but done on single thread.
    I’ve also tried using PvrTexLib form 2.08 sdk. It is using single thread – which is good for me, but effects produced with compression quality normal are far worse from one produced by library from sdk 3.1 – also quality normal.

    Will there be an update to library?
    Or maybe there is some ‘trick’ to do in the code to force using just one thread.

    #37284

    Hi Vojtasg,

    So this is something we’ve considered adding, and it’s probably not too hard to add this in code, but we didn’t have any requests to actually add it. I can consider adding it for the next version of PVRTexTool. In the meantime there’s unfortunately no way to change the number of threads being loaded – the only “out” clause it has is if it can’t create more threads.

    Which OS are you on? I know that at least on Windows you can force core affinity so that a program only uses one core, by calling (for example)

    “C:WindowsSystem32cmd.exe /C start “PVRTexToolCL.exe” /affinity 0 C:ImaginationGraphicsSDKUtilitiesPVRTexToolCLWindows_x86_32PVRTexToolCL.exe”

    Which would force the threads to all run on Core 0.

    I would imagine there are similar commands for OSX/linux though I wouldn’t know what they are off the top of my head.

    Hope that helps,
    Tobias

    #37285

    vojtasg
    Member

    Hi,
    I am on Windows – so I’ll try calling start (did not come to my mind, thx for the great tip) with affinity – now I just have to look how to do this in parallel in makefile and provide proper core number.

    Still, having ability to do this from library end would be great. If you are considering adding it – I am voting for it.

    #37286

    JohanM
    Member

    Hi,

    We have the same problem. It would be great with an option in PVRTexTool Library to disable multi-threading or limiting the number of cores it uses.

    So, consider this another vote for adding this.

    #37287

    Joe Davis
    Member

    Hi Johan,

    Apologies for the delayed response. I’ve only just spotted the comment while cleaning up the forum.

    There’s an open feature request against PVRTexTool to limit the number of cores used for compression (BRN47902). We may not have time to implement the feature for our upcoming release (SDK 3.5, due in March). It will be considered for a future release though.

Viewing 5 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic.