Hi Alex,
Typically I use one of my Color-Checkerboards for this. Each square has a fixed number of pixels. So I can count the squares when they are at their closest to the camera. This allows me then to calculate the pixels I need for the final resolution.
Step 1
Determine the Final Resolution
Step 2
With the camera closest to the object, count the squares (Explore all camera positions. Where the square is the largest in the camera view, you have your reference point.
Step 3
Render Res/Squares times square res. times (at least) 1.5
Step 4
Step 1 with Step 3 should match or better.
The pattern I use (the 8x8 squares) is essential, and these squares will allow me to decide where the sweet spot is.
If my render resolution would be 1000 pixels, and I see five squares from left to right, then my texture should hold (1000/5) x 1.5 pixels per square. Since it has eight squares, the texture I have to have for the model, in this case, is 2.400 pixels (if the squares are diagonal in camera view, you need to adjust the amount.
Why 1.5? Because typically, no texture pixel will fill a rendered pixel to 100%. The 1.5 is a standard that has served me in the past 25 years very well. However, I never go that frugal to work: Camera settings can change, just a little bit closer, …, closer, and lost all quality.
Any creation of textures should be much larger, then create an appropriately sized copy with some room. If that is not enough, the source can be used.
Does this make sense, f not I will try differently.
Cheers