News for hackers. Stuff that matters.
Re:Linus Torvalds: Linux Scheduler Not to Blame for Google S... by judge2020 on Monday January 06, 2020 @11:05AM (#21970162)
Re:Linus Torvalds: Linux Scheduler Not to Blame for Google S... by foobiekr on Monday January 06, 2020 @11:30AM (#21970412)
it will be shocking if this actually works without being a glitchy mess. I think it’s mostly an excuse to get people to stop talking about it.
Re:Linus Torvalds: Linux Scheduler Not to Blame for Google S... by dada78641 on Monday January 06, 2020 @11:52PM (#21976972)
It exists. RetroArch has it in some cores, for example. It was originally conceived of and made by emulator developers.

Of course, it gets really hairy really quickly. Technically, a perfect runahead/negative latency requires ([all possible input states] to the power of [amount of frames of lookahead]) frames to be rendered.

A single player NES game has 8 binary state controller buttons, so 2 to the power of 8 input states. You need to render 256 frames for each frame of runahead.

Now surely you're thinking you'll just prune the set of possible input states through smart prediction of what the player will probably do next, but it doesn't matter. The number very quickly grows to ludicrous amounts of processing for anything that isn't an antiquated console. Let alone for 3D FPSes that use float values for e.g. mouse state.

Edit: and I should add that if they even try to do this, the amount of CO2 they'll waste is going to be horrifying.

Re:Linus Torvalds: Linux Scheduler Not to Blame for Google S... by SmirkingRevenge on Monday January 06, 2020 @11:57AM (#21970684)
They use it in games like thumper. Also, this same technique is already used in many street fighter style fighting games. Its not new - and it works.
Re:Linus Torvalds: Linux Scheduler Not to Blame for Google S... by _--___-___ on Monday January 06, 2020 @12:26PM (#21970978)
GGPO (the fighting game rollback implementation) simply predicts that each player's inputs on frame N+1 is the same as frame N. This works well enough for fighting games but may not generalize, especially in games with precise analog inputs. Also, there's a hard requirement that in order to roll back 3 frames the engine has to be able to simulate re-running those 3 within the timespan of one frame, which is sometimes an issue when trying to patch this onto a finished game.