Hi Andrew, From what I remember loop finding is not multi-threaded in Softimage.
I had a quick look at your code and you have a lot of nested calls in your inner loops so you are making a lot of redundant API calls which is likely killing your performance. (so switching to a faster path finding algorithm won't help) e.g. curMesh.GetEdges().GetItem(current_nbe[i])).GetVertices().GetPositionArray() You should request the position array once and then reuse that array instead requesting it each time you need it which is very inefficient. (same with all the other redundant API calls in the code) Cheers! -- Brent From: [email protected] [mailto:[email protected]] On Behalf Of Andrew Prostrelov Sent: 15 July 2017 08:19 To: Official Softimage Users Mailing List. https://groups.google.com/forum/#!forum/xsi_list <[email protected]> Subject: Re: EdgeRing ALG for n-gons It was interesting. I wrote 2 simple realisation of A* for edges. First use simple approach g & h. Second one use h *= 0.001. For thothe who familiar with A* this code line force alg to search next branch closer to destination (not to the start location). Unfortunately even if we use std::priority_queue as faster container it is still very slow on sphere div6+. I guess the native XSI pathfinde alg for components is a multithreaded. I don't have threading code experience yet so here is a A* realisation for edges: https://www.dropbox.com/s/8j4p52fo0saiz2s/A.cpp https://www.dropbox.com/s/tqy610cy6hvphao/A.h If someone have a time to make it threaded or suggest something - feel free.
------ Softimage Mailing List. To unsubscribe, send a mail to [email protected] with "unsubscribe" in the subject, and reply to confirm.

