Almost never
This directive only applies to accessing global unit variables from another device.
If you use {$ G +}
unit1;
interface
var
Global1: integer;
Form1: TForm1;
Global1will be accessible indirectly with the help of the pointer (if, and when accessed from outside unit1)
Form1, the indirect (i.e., a change from a direct pointer to an indirect pointer) will also be available.
if you use {$ G-}, access to an integer globalwill be direct and therefore a little faster.
This will only matter if you use the variables of the global public device in another block and in a temporary critical code, i.e. Almost never.
: http://hallvards.blogspot.com/2006/09/hack13-access-globals-faster.html