Między klawiszem a ekranem: w tym stare komputery są szybsze od nowych pecetów

Mam to dręczące uczucie, żekomputery z których dzisiaj korzystam są powolniejsze niż te, zktórych korzystałem jako dziecko – tak zaczyna swój ostatniblogowy wpis nowojorskiinżynier Dan Luu, ekspert od naprawdę niskopoziomowegoprogramowania. Czysty absurd, biorąc pod uwagę to, że mówimy osprzęcie sprzed ponad 30 lat, miliony razy przecież powolniejszym.A jednak przeprowadzone testy empiryczne potwierdziły to dręcząceuczucie. Stary Apple IIe z 1983 roku okazał się w pewnej kwestiiponad sześciokrotnie szybszy od nowoczesnego desktopowego PC zprocesorem Core i7-7700K. Co poszło nie tak?

Między klawiszem a ekranem: w tym stare komputery są szybsze od nowych pecetów

28.12.2017 | aktual.: 28.12.2017 16:55

Sam pomysł, by porównywaćmuzealny sprzęt komputerowy z maszynami, które pod względemwydajności biją na głowę to, co wyobrażali sobie w latach 80pisarze science fiction może wydawać się niedorzeczny. Apple IIemiało procesor taktowany z częstotliwością 1 MHz, podczas gdyprocesory współczesnych pecetów to częstotliwości rzędu 4 GHz.A jednak prosty test, mierzący opóźnienie między naciśnięciemklawisza a wyświetleniem znaku na ekranie potwierdził przeczucianowojorskiego inżyniera. Stare komputery w tej kategorii byłyniezwykle szybkie, reagowały na działania użytkownika w mgnieniuoka.

Poniższa tabela przedstawiazmierzone za pomocą kamery poklatkowej opóźnienia na liniiklawiatura-ekran w komputerach wyprodukowanych między 1977 a 2017rokiem. Tam gdzie zastosowano różne systemy operacyjne na tym samymsprzęcie, zaznaczono to wytłuszczonym drukiem. Co sprawiło, żestary sprzęt Apple znalazł się tak wysoko?

Obraz

Odpowiedź wcale nie jest trudna. Toprostota. Stary komputer Apple’a po prostu czeka na wprowadzenieznaku. Jego klawiatura jest odpytywana 556 razy na sekundę nie przezjakiś skomplikowany mikrokontroler, lecz prosty czip, któregołączne opóźnienia nie przekraczają 8 ms. Po drugiej stroniestary kineskopowy wyświetlacz z odświeżaniem 60 Hz dorzuca do tegokolejne 8 ms. Na cały potok renderowania grafiki przez kontrolerwideo (24×40 znaków poprzez zespolony sygnał wizji) pozostaje 14ms. Cały zarządzający tym kod nie musi dbać o bufory,przełączanie między procesami, konteksty interfejsu –najwyraźniej jego zawierającemu 3500 tranzystorów mikroprocesorowiten czas wystarczy na obsłużenie interakcji z użytkownikiem.

Po drugiej stronie mamywspółczesnegopeceta o całkiem dobrych parametrach. Jego klawiatura jestodpytywana w najlepszym razie 167 razy na sekundę z wykorzystaniemmikrokontrolera w klawiaturze mającego około 80 tysięcytranzystorów. Już ot samo ma generować opóźnienie rzędu 18 ms.Po drugiej stronie jest wyświetlacz LCD, który choć nominalniemoże oferować szybkość reakcji na poziomie 1 ms, w rzeczywistościprzy odświeżaniu ekranu 144 Hz na wyświetlenie znaku potrzebujeokoło 14 ms. A między klawiaturą a ekranem mamy system ogromnejzłożoności, obsługujący setki jednocześnie uruchomionychprocesów i przeróżne interfejsy sprzętowe. Nawet tam, gdziepróbuje się zwiększyć wydajność takiego nowoczesnego systemu,robi się to kosztem dalszego wzrostu jego złożoności. W efekciewidzimy sytuację, w której na tym samym sprzęcie skomplikowanyWindows generuje opóźnienia o 30 ms wyższe niż architektonicznieprostszy Linux.

Jak zauważa Dan Luu, bardzo trudnojest się tej złożoności pozbyć. Widać to w porównaniuwspomnianych klawiatur: potężny nowoczesny mikrokontroler okazujesię być powolniejszy niż prosty czip logiki klawiatury. Czemu więcwspółcześni producenci czipów nie korzystają z takich czipówjak kiedyś robiło to Apple (czy inni producenci 8- i 16-bitowychkomputerów)? Odpowiedź jest prosta: stosując mikrokontroler możnałatwo modyfikować funkcje klawiatury i przerzucić zagadnieniemodyfikacji ze sprzętu na oprogramowanie – a to obniża kosztprodukcji. Programista jest znacznie droższy niż sprzęt.

Dlatego w większości wypadkówniemożliwe będzie dla współczesnych systemów pokonanie Apple IIe– jeśli opóźnienia samej ich klawiatury będą większe, niżcałego starego komputera. Oczywiście dzisiaj już możliwe jestdobranie takiej konfiguracji sprzętu i oprogramowania, że powstaniemaszyna o opóźnieniach interakcji z interfejsem bliskich tym starymmaszynom. Na liście znajdziemy peceta z 2014 roku z procesoremHaswell-E i wyświetlaczem 165 Hz, w którym latencja jest mniejszaniż w stareńkim Commodore PET.

Applied Sciences Group: High Performance Touch

Zdaniem nowojorskiego inżyniera,wychodzimy wreszcie z mrocznych wieków powolnych interfejsówniskiej rozdzielczości, a to otwiera drogę do zupełnie nowych klasaplikacji i podniesienia doświadczenia użytkownika do poziomów,jakie dziś oferują tylko profesjonalne tablety Apple (nowy iPad Proz piórkiem i 10-calowym wyświetlaczem HiDPI to również opóźnienierzędu 30 ms). Ma to duże znaczenie, ponieważ nie jest wcaleprawdą, jakoby ludzie nie odróżniali od siebie opóźnień poniżejprogu 100 milisekund – w prostych zadaniach przeciętny użytkownikjest w stanie odróżnić opóźnienia różniące się od siebie onawet 2milisekundy.

Programy

Zobacz więcej
Źródło artykułu:www.dobreprogramy.pl
Wybrane dla Ciebie
Komentarze (114)