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

  • Thread starter Thread starter rcgldr
  • Start date Start date
  • Tags Tags
    Os
AI Thread Summary
Games ported from consoles to PCs often exhibit performance sensitivity across the entire game, rather than isolating issues to graphics, which was more common in older PC games. In those earlier titles, graphics and physics operated on separate threads, allowing for a decline in frame rates without impacting core gameplay mechanics. However, newer console ports tend to tie game performance closely to graphical rendering, meaning that if graphics lag, the entire game can suffer. This issue is particularly noticeable in games designed for multiple platforms, such as PS3 and Xbox, where the performance variability of PCs can lead to significant gameplay disruptions. The discussion also highlights that modern gaming consoles utilize preemptive multitasking operating systems, which can handle complex game states. Despite this, the challenge remains in ensuring smooth communication between physics and graphics threads, especially when the game state is large. The differences in performance issues between console-to-PC and PC-to-console ports suggest that the development approach may significantly influence how well a game adapts to varying hardware capabilities.
rcgldr
Homework Helper
Messages
8,917
Reaction score
672
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:
In my discussions elsewhere, I've noticed a lot of disagreement regarding AI. A question that comes up is, "Is AI hype?" Unfortunately, when this question is asked, the one asking, as far as I can tell, may mean one of three things which can lead to lots of confusion. I'll list them out now for clarity. 1. Can AI do everything a human can do and how close are we to that? 2. Are corporations and governments using the promise of AI to gain more power for themselves? 3. Are AI and transhumans...
Thread 'ChatGPT Examples, Good and Bad'
I've been experimenting with ChatGPT. Some results are good, some very very bad. I think examples can help expose the properties of this AI. Maybe you can post some of your favorite examples and tell us what they reveal about the properties of this AI. (I had problems with copy/paste of text and formatting, so I'm posting my examples as screen shots. That is a promising start. :smile: But then I provided values V=1, R1=1, R2=2, R3=3 and asked for the value of I. At first, it said...
Back
Top