Ramping down an active voice to prevent clicking when retriggering

[b]
 |  [r act]
 |   |
 |   |    [r deact]
 |   |     |
 |  [1 (  [0 ( 
 |   |    /
 |   |   /
 |   |  /
 |   | /
 |   |/
[f    ]    
 |   
[select 0]
 |       \
 |        \
[t b b]    \ 
 |    \     \
 |     \     \
 |      \     \
 |       \     \
<normal   \     \
operation> \     \
            \    [t b b ]
             \    |    | 
              \ <ramp- | -down output then trigger normal operation>
               \       |                  
                \      | 
                 \     |
                  \    | 
                   \   |
                    \  | 
                     \ |
                      \| 
                      [s]  
-elsewhere-
<mainenvelope~ off bang>
 |
 |
[s]
When using the poly object and your voices have envelopes that continue after noteoff has been sent
the voice could get retriggered before the envelope has finished. This is a way to prevent clicking
when this happens. Another thing to do when deactivating and activating is to trigger a [switch~] to
shutoff the audio processing for that voice.


My question:
Is this the best way to implement this?
What is the lowest possible rampdown time to prevent clicking in the output?[/s][/s][/b]