Ho eseguito i test con il cronometro. 100.000 iterazioni:
System.Random rnd = new System.Random();
if (rnd.Next(2) == 0)
trues++;
Le CPU amano gli interi, quindi il metodo Next (2) era più veloce. 3.700 contro 7.500 ms, che è abbastanza consistente. Inoltre: penso che i numeri casuali possano essere un collo di bottiglia, ho creato circa 50 ogni fotogramma in Unity, anche con una piccola scena che ha notevolmente rallentato il mio sistema, quindi speravo anche di trovare un metodo per creare un bool casuale. Quindi ho anche provato
if (System.DateTime.Now.Millisecond % 2 == 0)
trues++;
ma la chiamata a una funzione statica era ancora più lenta con 9.600 ms. Vale un tentativo. Alla fine ho saltato il confronto e ho creato solo 100.000 valori casuali, per assicurarmi che il confronto tra int e doppio non influenzasse il tempo trascorso, ma il risultato era praticamente lo stesso.