Most application development is based around developing with events, but considering the game-loop style of developing games and the (often) need for high performance/throughput, what role does developing using events have and what are the trade-offs? Does the synchronization/locking that is often involved have a greater impact?
For instance: - How does the network [layer] notify the game-loop of data received? - How does the physics system notify of collisions
I ask, because I can remember a time when game development using events was a strict no-no. Has this changed?