Jak szybki jest czas rzeczywisty? Ludzka percepcja i technologia

PubNub Developer Relations - Dec 13 '23 - - Dev Community

W 1968 roku Robert Miller opublikował swój klasyczny artykuł Response time in man-computer conversational transactions, w którym opisał trzy różne rzędy wielkości szybkości reakcji komputera mainframe:

  1. Czas reakcji wynoszący 100 ms jest postrzegany jako natychmiastowy.

  2. Czasy reakcji wynoszące 1 sekundę lub mniej są wystarczająco szybkie, aby użytkownicy czuli, że swobodnie wchodzą w interakcję z informacjami.

  3. Czasy reakcji dłuższe niż 10 sekund całkowicie tracą uwagę użytkownika.

Na tej podstawie Miller doszedł do wniosku, że spójna 2-sekundowa reakcja byłaby idealna. Wiele lat później ta sama wartość 2 sekund została wykorzystana jako cel wydajnościowy dla aplikacji internetowych. Dzisiejsze aplikacje czasu rzeczywistego wymagają jednak niemal natychmiastowej reakcji. Odpowiedź zależy od kontekstu.

Jak szybko człowiek może przetwarzać dane wejściowe?

Jako istoty ludzkie mamy ciekawą wrodzoną zdolność do obserwowania i doświadczania ciągłego upływu czasu. Architektura naszych ludzkich mózgów ogranicza jednak naszą percepcję sensoryczną w sposób, który uniemożliwia nam reagowanie na nasze spostrzeżenia w określonych krótkich ramach czasowych. Te ramy czasowe są powszechnie znane jako czas reakcji.

Czas reakcji człowieka

Przeciętny czas reakcji człowieka wynosi około ćwierć sekundy (250 milisekund). Nie wierzysz? Możesz sprawdzić swój czas reakcji za pomocą tego małego testu.

Jak wiadomo, niektórzy ludzie mają lepszy czas reakcji niż inni. Piloci myśliwców, kierowcy Formuły 1 i mistrzowie gier wideo mieszczą się w przedziale 100-120 ms po lewej stronie krzywej.

Ile z tego czasu poświęcane jest na odbieranie danych, a ile na mentalne przetwarzanie i fizyczną reakcję?

Opóźnienie w czasie rzeczywistym: Od oka do mózgu

Czas reakcji jest złożonym zagadnieniem i obejmuje kilka różnych elementów przetwarzania umysłowego, w tym

  • Percepcję sensoryczną

  • Odbiór danych wejściowych do naszej świadomości

  • Kontekst zastosowany do danych wejściowych

  • Decyzje podejmowane na podstawie wyników przetwarzania.

Aby naprawdę zrozumieć, jak szybki jest czas rzeczywisty dla ludzkiego mózgu, skupimy się na fazie percepcji sensorycznej. To tutaj nasze zmysły odbierają dane przychodzące ze świata zewnętrznego, czy to wizualne, czy słuchowe.

Na przykład czas, w jakim obraz tygrysa dociera do siatkówki oka, aby dotrzeć nerwem wzrokowym do kory wzrokowej, jest niezwykle szybki. Nowe badania pokazują, że ludzie mogą interpretować wskazówki wizualne widziane przez zaledwie 13 ms (około 1 na 75 klatek na sekundę).

Gdy mózg odbiera przychodzący strumień danych, asynchroniczny proces potwierdza dane wejściowe i przyjmuje je do naszej świadomości. Inna część mózgu, świadoma przychodzącego strumienia danych, stosuje kontekst do strumienia, dzięki czemu można podjąć decyzję o tym, jak zareagować. Wszystko to dzieje się bardzo szybko.(Koty są prawie dwa razy szybsze).

Jak niepożądane opóźnienia wpływają na wydajność człowieka?

Podczas gdy w ludzki czas reakcji zaangażowanych jest więcej niż tylko przetwarzanie umysłowe, ważne są tutaj następujące koncepcje:

1. Najszybsze tempo, w jakim ludzie wydają się być w stanie przetwarzać przychodzące bodźce wzrokowe, wynosi około 13 ms. Odbieranie strumienia danych szybciej niż ten czas tylko podkreśli ograniczenia naszej percepcji.

2. Zwiększenie opóźnienia powyżej 13 ms ma coraz bardziej negatywny wpływ na wydajność człowieka w danym zadaniu . Choć początkowo niezauważalne, zwiększone opóźnienie nadal pogarsza zdolność przetwarzania danych przez człowieka, aż do zbliżenia się do 75-100 ms. W tym momencie stajemy się bardzo świadomi, że dane wejściowe stały się zbyt wolne i musimy polegać na dostosowywaniu się do warunków poprzez przewidywanie danych wejściowych, a nie po prostu reagowanie na nie.

Na przykład w pojedynku opóźnienie 100 ms ma znaczenie. Zwłaszcza jeśli jest ono losowe i nie można go przewidzieć.

Implikacje dla twórców aplikacji czasu rzeczywistego

Aplikacje czasu rzeczywistego mają różną tolerancję na opóźnienia strumienia danych. Zazwyczaj są to bardzo wymagające aplikacje:

To właśnie w tego typu aplikacjach wymagana jest ludzka percepcja i interakcja w czasie rzeczywistym. Biorąc pod uwagę zasoby wymagane do zbudowania i utrzymania sieci strumienia danych w czasie rzeczywistym w celu obsługi tego typu aplikacji, wielu programistów podejmuje strategiczną decyzję o outsourcingu warstwy przesyłania wiadomości, aby skupić się bardziej na samej aplikacji.

Gry online

Podczas gdy gry turowe, gry fabularne i strategiczne zazwyczaj nie polegają na ruchach lub działaniach w czasie rzeczywistym i mogą tolerować opóźnienia do 500 ms lub więcej, w przypadku gier MMOG ( Massive Multiplayer Online Gam ing) czas rzeczywisty jest wymogiem.

W miarę dojrzewania gier online, gracze coraz częściej sięgają po gry oferujące bardziej wciągające i realistyczne wrażenia. Aby zaspokoić ten popyt, deweloperzy muszą teraz tworzyć gry z bardzo realistycznymi środowiskami, które mają bardzo rygorystyczne wymagania dotyczące opóźnień strumienia danych:

  • 300 ms < gra jest niegrywalna

  • 150 ms < rozgrywka ulega pogorszeniu

  • 100 ms < wpływa na wydajność gracza

  • 50ms > docelowa wydajność

  • 13 ms > dolny wykrywalny limit

Opóźnienie wynoszące nawet 100 ms zmniejsza wydajność gracza w grach Twitch o wymierną wartość. Skuteczne śledzenie celów staje się zauważalnie trudne i zmusza graczy do przewidywania ruchów.

Ogólna przyjemność z gry nadal spada wraz ze wzrostem opóźnienia, a gracze doświadczają szarpanego odtwarzania, ghostingu i braku synchronizacji, co ostatecznie psuje rozgrywkę wszystkim zaangażowanym graczom.

Biorąc pod uwagę te parametry, aby odnieść sukces, architektura MMOG musi uwzględniać wydajność sieci jako podstawowy wymóg zapewniający graczom jakość wrażeń. Architektura ta musi być zdolna do dostarczania tysięcy jednoczesnych strumieni danych z opóźnieniami tak niskimi jak 50 ms lub lepszymi, a co jeszcze trudniejsze, musi to robić na dużą skalę dla graczy w różnych regionach geograficznych, w różnych sieciach dostępowych, przy użyciu szeregu urządzeń.

"PubNub pozwala nam skupić się na naszej aplikacji, a nie na obsługującej ją sieci szkieletowej i związanych z tym zmartwieniach. Świadomość, że nie musimy konfigurować całego systemu monitorowania, aby upewnić się, że nasza sieć szkieletowa działa i wysyła wiadomości, jest niesamowita; bez awarii, bez restartów sprzętu i bez zmartwień" - powiedział James Ross, współzałożyciel i dyrektor operacyjny NodeCraft Hosting.

Licytowanie i aukcje

W przypadku każdej aukcji liczy się każdy ułamek sekundy. Sukces zależy od tego, czy wszyscy licytujący będą mieli poczucie płynnego, niezawodnego zaangażowania w czasie rzeczywistym, niezależnie od tego, gdzie się znajdują. Posiadanie odpowiedniej kompleksowej platformy do dostarczania funkcji w czasie rzeczywistym, takich jak powiadomienia, alerty i aktualizacje w czasie rzeczywistym, jest niezbędną częścią doświadczenia użytkownika.

Niezawodne i skalowalne rozwiązanie platformowe jest kluczem do sukcesu aukcji internetowych, ponieważ:

  • Daje użytkownikom pewność, że są na bieżąco z każdą nową ofertą lub innym wydarzeniem podczas aukcji, dzięki czemu mogą podejmować kolejne decyzje dotyczące licytowania (lub nie).

  • Maksymalizuje udział potencjalnych oferentów, przyczyniając się do wyższych najwyższych ofert.

  • Wzmacnia wiarygodność aukcji i prowadzącej ją organizacji.

  • Utrzymuje ciągłe zaangażowanie oferentów, zapewniając takie samo żywe, konkurencyjne uczucie, jak w przypadku rzeczywistej, osobistej aukcji.

Współpraca w czasie rzeczywistym

Innym interesującym przykładem wykorzystania danych w czasie rzeczywistym jest obszar e-learningu i współpracy. W klasie online niezbędna jest niezawodna komunikacja w czasie rzeczywistym między urządzeniami. Gdy mamy do czynienia z klasą pełną uczniów o krótkim czasie skupienia, urządzenia muszą być w stanie sygnalizować między sobą tak szybko, jak to możliwe. W przeciwnym razie traci się uwagę całej klasy. Jednak projektowanie sieci strumieni danych w czasie rzeczywistym jest dla większości poza podstawowymi kompetencjami.

"Nie wiedzieliśmy, czy powinniśmy zatrudnić do tego ludzi, czy będziemy musieli zwiększyć rozmiar zespołu, a w końcu po prostu usiedliśmy i pomyśleliśmy: 'to nie jest sedno naszej działalności. Nie powinniśmy wydawać mnóstwa pieniędzy i poświęcać czasu na to, by czas rzeczywisty działał, podczas gdy powinniśmy skupić się na naszych własnych wyzwaniach biznesowych". Czas rzeczywisty_był wymogiem dla naszej działalności, ale nie wyzwaniem biznesowym, które powinniśmy rozwiązać" -_ powiedział Liam Don, współzałożyciel i CTO ClassDojo.

Rozrywka na żywo

Cechą charakterystyczną udanego wydarzenia wirtualnego jest to, że publiczność jest zaangażowana nie tylko w występy, ale także w siebie nawzajem. Ale tylko dlatego, że wirtualne wydarzenia są częścią naszej rzeczywistości od kilku lat, nie oznacza to, że każdy organizator wydarzenia (lub platforma) zapewnia niezbędne funkcje, aby umożliwić angażujące, interaktywne wydarzenia.

Kilka kluczowych funkcji, o których deweloperzy powinni pamiętać podczas tworzenia aplikacji na wirtualne wydarzenia to:

  • czat w aplikacji z funkcjami takimi jak obecność, reakcje i wskaźniki pisania

  • Powiadomienia i alerty zapewniające, że widzowie nie przegapią ani minuty pokazu - lub wiadomości od innych uczestników.

  • Nieograniczona liczba strumieni konwersacji i jednoczesnych użytkowników, dzięki czemu nie trzeba się martwić, że wydarzenie będzie zbyt udane i ulegnie awarii.

  • Elastyczne filtrowanie i tłumaczenie wulgaryzmów w czasie rzeczywistym, aby umożliwić uczestnikom cywilną komunikację, niezależnie od tego, gdzie się znajdują.

  • Interaktywne ankiety, quizy i tabele liderów synchronizowane w czasie rzeczywistym, aby utrzymać podekscytowanie i prawdziwe zaangażowanie odbiorców.

PubNub i czas rzeczywisty

Nasz interfejs API danych w czasie rzeczywistym jest elastyczny, dzięki czemu można szybko wdrożyć te funkcje. Nasza globalnie dostępna infrastruktura przesyłania wiadomości pozwala na rozbudowę w miarę rozwoju aplikacji i potrzeb. Rozpoczęcie pracy jest łatwe. W razie jakichkolwiek pytań oferujemy wsparcie 24/7 na całym świecie. Dzięki PubNub możesz zacząć tworzyć aplikacje w czasie rzeczywistym... już dziś.

Jak PubNub może ci pomóc?

Ten artykuł został pierwotnie opublikowany na PubNub.com

Nasza platforma pomaga programistom tworzyć, dostarczać i zarządzać interaktywnością w czasie rzeczywistym dla aplikacji internetowych, aplikacji mobilnych i urządzeń IoT.

Fundamentem naszej platformy jest największa w branży i najbardziej skalowalna sieć przesyłania wiadomości w czasie rzeczywistym. Dzięki ponad 15 punktom obecności na całym świecie obsługującym 800 milionów aktywnych użytkowników miesięcznie i niezawodności na poziomie 99,999%, nigdy nie będziesz musiał martwić się o przestoje, limity współbieżności lub jakiekolwiek opóźnienia spowodowane skokami ruchu.

Poznaj PubNub

Sprawdź Live Tour, aby zrozumieć podstawowe koncepcje każdej aplikacji opartej na PubNub w mniej niż 5 minut.

Rozpocznij konfigurację

Załóż konto PubNub, aby uzyskać natychmiastowy i bezpłatny dostęp do kluczy PubNub.

Rozpocznij

Dokumenty PubNub pozwolą Ci rozpocząć pracę, niezależnie od przypadku użycia lub zestawu SDK.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .