cross-posted from: https://lemmy.zip/post/26533086

Linux kernel 6.12 is one of the most significant releases of the year, delivering a feature nearly 20 years in the making: true real-time computing.

  • CameronDev
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    3 hours ago

    Realtime doesn’t necessarily mean low latency, it means consistent latency.

    So if the latency from and input takes 1s, that is realtime, as long as its always 1s.

    Typically for gaming you want the lowest latency possible, and at least historically, that meant not realtime.

    Edit: Some examples with made up numbers:

    Airbag: you want an airbag to go off EVERY time, and if that means it takes 10ms, thats usually OK. RT guarantees that your airbag will go off 10ms after a crash every time.

    Games: you want your inputs handled ASAP, ideally <5ms, but if one or two happen after 100ms, you’ll likely not notice. If you enable RT, maybe all your inputs get handled after 10ms consistently, which ends up feeling sluggish.

    Unless you know you need RT, you probably dont actually want it.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      2
      ·
      3 hours ago

      Games: you want your inputs handled ASAP, ideally <5ms, but if one or two happen after 100ms, you’ll likely not notice. If you enable RT, maybe all your inputs get handled after 10ms consistently, which ends up feeling sluggish.

      Actually I think its the other way for gaming: If you have consistent input delay, it will not feel sluggish. Same why consistent 30 fps feels better than varying 31 to 39 fps. Similar for gaming, especially if you play speedrun or 1vs1 fighting games, you would want to have consistent delay. However, if that adds too much delay its probably counterproductive. But for single player games, a consistent delay is the opposite of sluggish.

      • CameronDev
        link
        fedilink
        arrow-up
        2
        ·
        3 hours ago

        At low numbers, it doesnt matter. If you exqgerate the numbers the effect is more clear.

        Eg. if the latency was 100ms, it would feel your movments are behind by 100ms, which would be unplayable.

        But if you had a typical latency of 10ms, with rare spikes to 1s, the spikes would be considered lag, and annoying, but most of the time its good and playable.

        • nanook@friendica.eskimo.com
          link
          fedilink
          arrow-up
          2
          ·
          3 hours ago

          @CameronDev @thingsiplay I refer you to this: https://www.pubnub.com/blog/how-fast-is-realtime-human-perception-and-technology/

          That said, we did an experiment in a physics class many years ago where by there was a beeper and an electromagnet that were powered by the same source. The electromagnet held a yard stick in place. When the beeper went off we were supposed to push a button in response. The button stopped the fall of the yardstick. Then by calculating how far the yard stick fell using the 32m/s^2 speed of gravitational acceleration we calculated how long response was, average was about 200ms, I responsed in 30ms, however this only works for me for auditory queues, visual is more delayed for me, and I can’t detect any change in under 20ms and just barely at that, let alone respond to it. But what I learned in that class was that reaction times varied individual to individual by a factor of about ten, so what is true for one person may not be for another.

      • nanook@friendica.eskimo.com
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        @thingsiplay @CameronDev I agree consistent delay is better because your brain automatically adjusts for it, it has several hundred milliseconds of delay built-in, but inconsistent sub-millisecond delay is not going to be humanly detectable.

      • CameronDev
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        When I last looked into it, many years ago, RT definitely did negatively impact average latency. It was slower, but consistent. Has that actually changed?

        • nanook@friendica.eskimo.com
          link
          fedilink
          arrow-up
          1
          ·
          3 hours ago

          @CameronDev I never applied the real time patch before it was integrated in 6.12, so I have no previous experience to compare to. And with 6.12, I can only go by documentation at present because the realtime configuration breaks my graphics so I have no display. But I have worked in audio studios in the past where they used it and claimed it helped. I can only take their word, but I did mention the tradeoffs earlier, if you do more context switching it is going to eat more resources, so if you are resource saturated it’s going to slow you down instead of speed you up. I am anxious for the driver issue to be resolved so I can try for myself on my hardware. I am particularly curious to see how my i9-10980xe (18 core / 36 thread) machine will respond to it. That is the machine this friendica runs on so I really need to know it’s going to be stable before I even try it, but that machine does have nvidia rather than UHD630 graphics so may work.