Re: Pady windy a pady Quake-a

Autor: R.Z. (USER07_at_eng_1.mech.port.ac.uk)
Data: Wed 19 Feb 1997 - 14:01:29 MET


> A mnie zastanawia jedna rzecz. Dlaczego, jak winda pada, to wszyscy,
> że fatalnie napisana, że kod do .... Ale jak się Quake wywala, no,
> to na pewno sprzęt wadliwy. Czyżby większość (na szczęście widzę,
> że nie wszyscy) była święcie przekonana o bezbłędności kodu Quake-a?

  W Quake gra mniej osob wiec jest gorzej "przetestowany" od Windy
  ale ...
  wymienie kilka zrodel klopotow z winda:
  1) Winda ma czeste przelaczanie zadan i zrzucanie nieaktywnych
     procesow na dysk.
  2) Programy, w tym takze te napisane przez M$, zagarniaja na
     swoje potrzeby pamiec i nie zawsze je prawidlowo zwalniaja.
     Zwalniana pamiec nie jest czyszczona tzn wypelniana zerami
     i kolejny proces bioracy te pamiec do uzytku tez nie czysci
     tej pamieci a potem jej uzywa jakby byla czysta.
  3) procedury obslugi grafiki np te co pokazuja bitmapy nie sa
     zabezpieczone przed uzywaniem danych ktore po wrzuceniu do
     pamieci ekranu zajmuja wiecej miejsca niz sie spodziewano.
     Z tego powodu M$ zadko korzysta z wlasnego algorytmu RLE,
     ktory dla wielu danych graficznych daje kompresje rzedu 1:10.
     Kilka moich eksperymentow z uszkodzonymi plikami RLE wykazalo
     ze jesli dane po rozkompresowaniu (np z powodu uszkodzenia
     pojedynczych bitow) wyjda poza zadeklarowane okno, w ktorym
     te dane mialy byc pokazywane to dostajemy piekny GPF
     
Takie kwiatki sa w windzie w roznych miejscach i kazdy na nie
sie natknal tyle ze nie mial wlaczonego Doktora Watsona
i dlatego nie wiedzial o co chodzi. Ale jesli tylko po kolei
powtorzyl swoje kroki z przed padniecia to jest na 99% pewne
ze padniecie sie powtorzy z identycznym adresem.

Jesli zas chodzi o zasadniczy motyw tzn Dlaczego jak winda pada
to wina windy a jak Quake pada to wina sprzetu ?

Otoz, IMHO, Winda jest bardziej skomplikowanym produktem
(sam sie czesto dziwie ze jej sie udaje zrobic to co robi)
i jest mniej przetestowana - w przeliczeniu na liczbe mozliwych
kombinacji - wielkosc RAM/programy uruchomione/przyzwyczajenia
klientow/inne nieprzewidziane czynniki.
Quake jest bardziej jednorodny i ma dlatego mniej bledow.
Quake na ogol chyba chodzi w bardziej jednorodnym srodowisku
programowym - rozne tam takie rezydenty/drivery/cache itp.

> To program, jak każdy inny i na pewno można by
> ułożyć całkiem niezłą listę błędów, które zawiera.

  Tak z ciekawosci rzuce: moze zacznij taka liste
                            a inni cos dorzuca.

> A wadliwy sprzęt nie tylko na
> Quake-u będzie się wywalał,
> ale na innych programach też.
> Włączajac w to nieszczęsną windę.

  Na ogol stare programy DOSowe nie uzywaly duzej ilosci
  pamieci wiec blad sprzetowy w 10-tym megabajcie twojego
  RAM nie bedzie mial wplywu na padniecie/dzialanie
  twojego komputra.
  A dla Windy to juz zaczyna miec znaczenie,
  bo tam moze wlezc jakis istotny fragment kodu.
>
> Piotr Ingling
  pozdrowienia
  przepraszam wszystkich za pisanie banalow i komunalow :)

--
Romek


To archiwum zostało wygenerowane przez hypermail 2.1.7 : Tue 18 May 2004 - 15:55:00 MET DST