Do I need to care about constantly reloading data in Update()

I’m building a game that is mostly UI loosely following the MVC pattern. I have components that set view fields based on model data. Some of this model data is constantly changing, other data changes infrequently (e.g. only in response to user input), and some data doesn’t change at all after it is loaded. The model data is typically converted to strings and displayed in various fields of the UI.

The naive approach is to give the view access to the model and reload all data in every update call. Assuming the model data is cheap to access, is there a point at which reloading all the fields into the UI every frame will become prohibitive, or is this cheap enough not to care about most of the time?

If strings are involved, it can create quite a lot of unnecessary allocations. If loading the data is cheap (because of caching for example), you could still simply keep track of what data has been shown and only update fields, if the data has changed.

string data = getData();
if (data.CompareTo(label.text) != 0)
    label.text = data;

Or, you could use C# events. The view would register listeners to events that are dispatched when data changes. The view would update its fields in the listeners (and perhaps also when the view is created).

EDIT: But you should check with the profiler whether this is actually an issue. If there are other very expensive operations running in Update at the same time, some unnecessary allocations from strings could be a minor problem.