Timeline for Why would a program require a specific minimum number of CPU cores?
Current License: CC BY-SA 3.0
15 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| May 23, 2017 at 12:40 | history | edited | CommunityBot |
replaced http://stackoverflow.com/ with https://stackoverflow.com/
|
|
| Jan 8, 2015 at 17:31 | comment | added | Doval | @Useless There's no hard dependency on finishing before the next display frame. You can just not update the display until the next computational step is complete. The game would slow down, but not skip ahead. That's still playable, and sometimes beneficial to the player since he has more time to react in real time games. The worst that could happen is that you're playing a rhythm game and the slowdown comes and goes inconsistently (which would be odd for a rhythm game). You only have real time requirements in a networked game, but network latency is a bigger issue there. | |
| Jan 8, 2015 at 16:05 | comment | added | anon | @Useless: A game that cannot run at a reduced framerate is a game that cannot be usefully de-bugged. | |
| Jan 8, 2015 at 16:04 | comment | added | DevSolar | Any code with this kind of "race conditions" is flat-out broken, no matter how many cores you run it on. (Especially since there's absolutely no guarantee as to what else is running on the system.) I seriously doubt this to be the cause, given how easily it would trip the game even on a hexacore system... | |
| Jan 8, 2015 at 3:36 | comment | added | slebetman | It's not about predictability. There are timers that programs can use to make processing steps predictable. It's about weather all processing can be completed before the timers expire. A game that requires 4 2GHz cores can be run with similar performance on a single core 10GHz CPU (why not 8? Because you need to provide some overhead for thread switching). | |
| Jan 8, 2015 at 3:20 | comment | added | Stack Exchange Broke The Law | @svick of course. But the question asks "is it possible?" not "is it sane?" | |
| Jan 7, 2015 at 19:55 | comment | added | Ginden | It's risky for user code - you can't predict available computation power because ANY other code can use "your" cores. | |
| Jan 7, 2015 at 19:50 | comment | added | svick | "a software architecture which depends on independent threads running with specific timings is extremely fragile" Which is exactly why I can't imagine a game that doesn't run at all with 2 cores, but reliably works with 4 cores. Even with 4 cores, the timing will be unpredictable, so the race condition would occur too, even if less frequently. | |
| Jan 7, 2015 at 19:14 | comment | added | Blrfl | Not to mention that a game that renders perfectly isn't much use either if it makes too many computational mistakes. | |
| Jan 7, 2015 at 18:37 | comment | added | DeadMG | @Useless: That's not really true. You can for example buffer frames or simulation data to hide any stutter, and there are concurrent designs that are more consistent. Getting all your processing done in X time and requring exact synchronization of that processing are different matters. | |
| Jan 7, 2015 at 17:52 | comment | added | Useless | But any game has a fragile dependence on being able to complete all the computation for the next frame in time to render it with reasonable frequency. Even if your 4 threads are synchronized correctly, it may be impossible to render in a timely fashion, and there's no benefit in a game which is computationally correct but unplayable due to lag and stutter. | |
| Jan 7, 2015 at 17:31 | history | edited | Philipp | CC BY-SA 3.0 |
added 22 characters in body
|
| Jan 7, 2015 at 13:06 | comment | added | uylmz | This is in the vein with the answers I was expecting. | |
| Jan 7, 2015 at 13:02 | history | edited | Philipp | CC BY-SA 3.0 |
added 445 characters in body
|
| Jan 7, 2015 at 12:56 | history | answered | Philipp | CC BY-SA 3.0 |