Do gaming consoles have pre-emptive multi-tasking OS?

  • Context: Calculators 
  • Thread starter Thread starter rcgldr
  • Start date Start date
  • Tags Tags
    Os
Click For Summary
SUMMARY

The discussion centers on the differences in game performance between consoles and PCs, particularly regarding preemptive multi-tasking operating systems. It highlights that while older multi-threaded PC games could separate graphics and physics tasks, newer console games often exhibit performance issues when graphics lag. The Xbox utilizes a stripped-down version of Windows 2000, which supports full multitasking, while other consoles like the N64 also feature preemptive multi-tasking. The conversation suggests that the complexity of game state management affects how well games perform across different platforms.

PREREQUISITES
  • Understanding of multi-threaded programming concepts
  • Familiarity with game state management in real-time applications
  • Knowledge of operating systems, specifically preemptive multi-tasking
  • Experience with game development on consoles and PCs
NEXT STEPS
  • Research the architecture of Xbox's operating system and its multitasking capabilities
  • Explore the differences in game state management between console and PC games
  • Learn about multi-threaded game design patterns and their implications on performance
  • Investigate the impact of network latency on real-time multiplayer games
USEFUL FOR

Game developers, software engineers, and system architects interested in optimizing game performance across different platforms, particularly those transitioning games from consoles to PCs.

rcgldr
Homework Helper
Messages
8,946
Reaction score
687
Wondering why games written for consoles and ported to PC's often seem to be system senstive where the entire game is affected by system peformance instead of just the graphics, which should be an independent thread / task in a game. In older multi-threaded games written for PC's, the graphics rate could be bogged down and yet have no effect on the games physics, which ususally consisted of one thread to sample controller inputs at some fixed rate, and a physics thread(s) that ran at some fixed rate to do the numerical integration to convert accelerations into velocties and positions of the objects involved, which in turn sent the positional update to the graphic thread. The frame rate in the graphic thread could take a hit on a slower system, but the core physics wasn't affected. In some of the newer games, it seems that the entire game can take a hit if graphics gets behind.
 
Computer science news on Phys.org
Xbox uses a stripped down version of Windows 2000, fully multitasking.
 
Antiphon said:
Xbox uses a stripped down version of Windows 2000, fully multitasking.
Thanks. Wondering about the other consoles, since many games are designed to run on multiple consoles (PS3, XBOX, ...) as well as PC's. Those are the games that seem to have issues with the difference in PC performance.
 
rcgldr said:
Wondering why games written for consoles and ported to PC's often seem to be system senstive where the entire game is affected by system peformance instead of just the graphics, which should be an independent thread / task in a game. In older multi-threaded games written for PC's, the graphics rate could be bogged down and yet have no effect on the games physics, which ususally consisted of one thread to sample controller inputs at some fixed rate, and a physics thread(s) that ran at some fixed rate to do the numerical integration to convert accelerations into velocties and positions of the objects involved, which in turn sent the positional update to the graphic thread. The frame rate in the graphic thread could take a hit on a slower system, but the core physics wasn't affected. In some of the newer games, it seems that the entire game can take a hit if graphics gets behind.
I'd be shocked and awed if not all home (non-portable) gaming consoles made after the original Playstation had preemptive multi-tasking operating systems. Even the N64's OS had preemptive multi-tasking, even though it wasn't round-robin...

The multi-threaded scheme you describe can only work if the game state is relatively small. After all, the renderer can't render the game state while that very state is being modified, now can it?
 
Jocko Homo said:
The multi-threaded scheme you describe can only work if the game state is relatively small. After all, the renderer can't render the game state while that very state is being modified, now can it?
I've seen racing games that support up to 42 players online, and the game state is being updated via positional update packets over the internet, and yet the view from each player's screen while slightly different due to lag, looks reasonably close depending on how well the code predicts locations of cars between packet updates, even handling situations where the positional update packets are occasionally lost. If this situation can be dealt with, then messages updates between threads on the same computer should be able to handle a much larger game state.

The complexity of rendering moving objects isn't an issue for the messaging done between the physics and graphics thread, just the information required to update the current position (orientation, velocity, ...) of the moving objects in real time.

What started me thinking about the consoles, is the fact that a few racing games ported from consoles to PC's have had issues with the variance in performance in PC's. The games written for PC's and then ported to consoles didn't seem to have these issues.
 
Last edited:

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 12 ·
Replies
12
Views
6K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 13 ·
Replies
13
Views
10K