Las condiciones de visible y activo se evalúan cada vez que cambia algo en el formulario, como por ejemplo al pulsar una tecla en un control de edición.
Debemos tratar de que si necesitamos poner condiciones de activo o visible sean lo más sencillas y rápidas de procesar posible.
La forma más óptima de procesar estas condiciones, siempre que sea posible, es que las evaluemos en un manejador de evento y no en las propiedades de los controles.
Evitar no significa no usar, pero debemos ser conscientes de que este tipos de campos para devolver información requieren resolver el registro al que apuntan y eso deben hacerlo solicitando la información al servidor, por lo que podemos considerarlos punteros lentos.
Si necesitamos mostrar información de esos campos en el formulario podemos hacerlo, y si vemos que los refrescos de información nos producen lentitud, podemos sustituir estos campos por variables locales a las que alimentaremos con el valor de los campos punteros, por ejemplo en el manejador de evento post-inicializado del formulario. De esta forma nos aseguramos que la lectura del valor de estos campos solo se realiza una vez al abrirse el formulario.
Incluso si tenemos que leer muchos valores de este tipo de campos siempre podemos en el evento post-inicializado del formulario ejecutar un proceso en tercer plano que nos devuelva en variables los valores a mostrar, consiguiendo un gran rendimiento.