Events are processed within the RGSS engine just like scripts. Such simple events that don't have any parallel process code don't lag. Scripts are not something miraculous.
A way to do this with scripts would be to check the position of the actor and to scan a look-up table containing the coordinates of each tile at the edge of the black area. But
1) that is almost exactly what the RGSS engine does with unpassable events on the map if not even more time consuming.
2) you need to edit the look-up table every time you change the size or position of the area(s).
The only thing that i can see in favor of a script solution is the memory space occupied by events, but this space is very very small.
Listen to a somewhat experienced scripter, events with no parallel process code or custom movement don't lag.
The last thing and then i leave this space to others: the event soultion is also very flexible from the mapper's point of view, because you can change everything by simply moving events.
This time i really step aside