A general word about LOS:
The line of sight behavior isn't designed well for use with multiple-instances-objects.
For each loop:
The for each object loop shouldn't slow it down noticable, if at all. An action with a multiple-instances-object will loop through the instances anyway.
Something like
+ land: Value 'somevar' Equal to 1
-> land: Set filter to somecolor
will execute at the same speed than
+ For each land
++ land: Value 'somevar' Equal to 1
--> land: Set filter to somecolor