Passing reference on every method call or once on instance creation
<p>I'm making a simple game, and it has a single instance of a class named <code>Game</code> that deals with all the logic of the game. </p>

<p>Many of the classes in the project have a method called <code>tick()</code> which is called from within the <code>Game</code> instance 60 times per second and deals with updating information. Such instances are stored in list(s) in the <code>Game</code> class.</p>

<p>This method requires access to the <code>Game</code> class and currently looks like this:</p>

<pre><code>MyClass {
    public void tick(Game game) {
        ...
    }
}
</code></pre>

<p>My question is - would it be <em>better</em> to do as I am doing now and pass a reference hundreds and thousands of times per second to all the instances that require it or simply pass a single reference to these instances on creation and have the classes look like so:</p>

<pre><code>MyClass {
    private Game game;
    public MyClass(Game game) { this.game = game }
    public void tick() { ... }
}
</code></pre>

<p>Basically, how taxing it is to pass this reference so many times every second?</p>

<p>Thanks in advance.</p>

<p><strong>Edit:</strong>
Perhaps another option is to mark all the required members of the <code>Game</code> class as static and calling them as such without a reference at all?..</p>
