As shown in the screenshots, the UV map of my model fits perfectly on the texture maps I created from Substance Painter, however, there are heavy stretching of texture around the borders of my mesh (for example the highlighted faces in the first screenshot should be in black color but the end result showed heavily stretched red texture of other UV islands).
I have checked the position of the UV map and the texture but they are correctly positioned. The texture is clean, the UV is clean, but the result is messed up for some reason. Any help is appreciated.
Update: Thanks for the suggestions but it seemed all of them are not the root cause of my problem here (btw I changed the normal texture to non-color data).
The main reason that leads to the stretched texture is probably the subdivision surface modifier that misplaced my seams when it is applied during the render. For example the seams that should be placed at the boundaries of the UV islands are placed elsewhere as shown in the screenshot after subdivision. Which messed up my render.
Is there any method to ensure my seams are not moved by subdivision surface modifiers? (The highlighted edge loop is my seam before and after subdivision)