Pokazywanie postów oznaczonych etykietą wydajność. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą wydajność. Pokaż wszystkie posty

wtorek, 29 listopada 2022

Czy żyjemy w symulatorze? Cz. 2 Optymalizacja

Ostatnio wspominałem o artykule zawartym w miesięczniku Astronomia, w długim i myślę, że fascynującym poście zatytułowanym Czy żyjemy w symulatorze?

Zachęcam do zapoznania się z tym postem, gdyż został on mocno poszerzony, a kolejna porcja rozważań już tutaj:


Tym razem, zupełnie nie na żarty Was przestraszę. Choć oczywiście nie to jest moim celem, chcę przestawić różne ciekawe zestawienia konstrukcji otaczającej nas rzeczywistości - wszechświata i fizyki, z ich konsekwencjami.

Są to jedne z istotniejszych zagadnień związanych z tym czy faktycznie, żyjemy w symulatorze.

Na pierwszy ogień: konstrukcja kosmosu


Kwestią o kolosalnym znaczeniu jest kula ziemska. Zapewnia ona tej symulacji to czego by nie zapewniała płaska Ziemia - pozdrawiam płaskoziemców!;)

Ponownie chodzi o optymalizację wszystkich procesów w ogromnej skali, a szczególnie chodzi tutaj o informatyczne zagadnienie zwane zrównoważeniem obciążenia.

Sam kształt kuli ziemskiej zapewnia, że z jednej strony jest dzień i ludzie tam funkcjonują na pełnych obrotach, tymczasem po drugiej stronie wszyscy są (statystycznie) uśpieni. Każdy projektant systemów komputerowych w tej chwili krzyczy: genialna optymalizacja!

Jakby tego było mało słońce działa tak, że oświetla Ziemię, w sposób gładki, a nie ostrokrawędziowy. Dzięki temu wszyscy budzimy się i kładziemy spać w sposób płynny. Chodzi o to że nie ma takiego placka na ziemi, który jest mocno oświetlony a reszta jest czarna. Po pierwsze wiemy czego się spodziewać (a przy ostrych krawędziach byśmy nie wiedzieli), po drugie zmiany obciążenia symulatora Ziemi są płynne - czyli takie najbardziej użyteczne dla zbalansowanego obciążenia całego systemu.

Jeśli faktycznie żyjemy w symulatorze to możemy się zastanowić nad słabościami tak skonstruowanego systemu.

Po pierwsze słabością tego systemu jest wynalezienie sztucznych źródeł światła, jak pochodnie czy lampy gazowe i elektryczne (nie bez znaczenia są latarki i oświetlenie samochodów). O wiele oszczędniej jest symulować świat bardziej uśpiony - pozbawiony sztucznych źródeł światła np. przed średniowieczem.

Ciekawym zagadnieniem jest sytuacja kilku źródeł światła, czyli kilku słońc (w filmie Gwiezdne Wojny i 2010: Odyseja kosmiczna). Taka sytuacja spowodowałaby zawalenie się całej tej koncepcji.

Dlatego jeśli faktycznie żyjemy w symulatorze, to sytuacja np. przedstawiona nam przez Arthura C. Clarke’a - nigdy nie będzie miała miejsca.

Kosmos - więzieniem

"Za" symulatorem przemawiają ogromne przestrzenie, które nas otaczają. Jeśli chce się kogoś odseparować (więzić??) to należy go zamknąć. Stawianie niewidocznych ścian i granic nie zda egzaminu (film Truman Show oraz w odniesieniu do gier: Crysis).

Jednak w wirtualnej rzeczywistości wygenerowanie dużych odległości jest najprostszym (nic nie kosztuje, a generuje zyski jako optymalizacja systemu) i bardzo skutecznym rozwiązaniem. Dodatkowo nikt się nie domyśli od razu, że jest więźniem - skoro nie widzi krat!

Ciekawy w tym kontekście jest wątek Trinity w filmie Matrix Zmartwychwstania. Niewidoczna klatka jest pułapką, czyli tzw. złotą klatką.

Na drugi ogień: Internet


Podobne znaczenie dla przeciążania symulatora jak sztuczne oświetlenie - ma fakt wynalezienia i istnienia na (prawie) całej Ziemi internetu (zaznaczę, że internet akurat jest najprostszym elementem do symulacji, co więcej ze względu na przeznaczenie komputer symulujący byłby zoptymalizowany właśnie w takich operacjach - problemem jest skala). Infrastruktura ta działa (wraz z komputerami i urządzeniami) bez względu na to czy nasza strefa geograficzna właśnie śpi czy nie.

Można zakładać, że byty obserwujące naszą symulację, są głęboko zaniepokojone takimi wynalazkami jak internet - oczywiście tylko w przypadku gdyby system ogromnie lagował bo jeśli nie to znaczyłoby, że system jest przygotowany na zwiększenie zapotrzebowania na moc obliczeniową.

Kluczowe jest to, czy nasza symulacja się wyrabia czy nie, ilość optymalizacji (mruganie, spanie itp.), może dawać nam do zrozumienia, że laguje straszliwie i że mrugania itp. są konsekwencjami wprowadzanych dawno temu optymalizacji do tego systemu.

Tu pojawia się poważne zagadnienie!

Jeśli wynalazki typu internet faktycznie powodują, że system laguje na potęgę, a do tego czekają nas kolejne wynalazki, np. ktoś wynalazł/wynajdzie (prawie) nieskończone źródło energii i powszechne stanie się posiadanie robotów, komputerów o dużych mocach w każdym domu oraz sztucznego oświetlenia na skalę jeszcze większą niż obecnie to...

...możemy się spodziewać ingerencji administratora systemu...

...to nie będzie miłe...

Najłatwiej jest w takiej sytuacji, zmniejszyć ilość ludzi na Ziemi...

Bo pamiętajmy, że symulację przeprowadza się w celu osiągnięcia wyników. Zmiana przebiegu historii - tak aby nie powstały wynalazki są zaburzeniem samej symulacji i spowodowaniem, że wynik symulacji stanie się niemiarodajny (brak adekwatności wyników).

Natomiast zmniejszenie ilości ludzi nie zaburza wyników symulacji. Przypomnę, że w matematyce (statystyce) są takie narzędzia jak: skalowanie, ekstrapolacja, rzutowanie - w tym wypadku przerażające!

Więc jeśli faktycznie mamy do czynienia z taką sytuacją to spodziewać się należy ingerencji administratora systemu!

Czyli należy się spodziewać jakiegoś gigantycznego kataklizmu i w konsekwencji drastycznego zmniejszenia populacji.

Co gorsze można nawet przez kataklizm spowodować, że cofniemy się w rozwoju aż tak, że zdobycze techniki staną się nieosiągalne - czyli właśnie o to chodziłoby administratorowi.

Nie będzie to wpływało na wyniki symulacji, gdyż (niestety!) statystycznie tak duży kataklizm dawno się nie zdarzył (np. Wybuch Wezuwiusza zniszczył miasta: Pompeje, Herkanulum i Stabie itp.), więc można matematycznie udowodnić, że może się takie zdarzenie urzeczywistnić właśnie teraz!

Jeszcze bardziej wstrząsające są ostatnie wydarzenia, mam nadzieję(!!!) że kończy się już obecnie pandemia covid-19, ale doprowadziła ona do dużego spadku ludności, który wykracza statystycznie poza to z czym mieliśmy do czynienia wcześniej.

Obecnie mamy kryzys energetyczny i planowane są w różnych krajach tzw. blackout-y (są one zapisywane (od niedawna) w ustawach np. naszych sąsiednich krajów), więc sytuacja jest obecnie poważna. Takie słowo jak blackout czy kryzys energetyczny jeszcze np. 10 lat temu były nieznane.

Może administrator systemu już ingeruje?


...jeśli to mało, to przypomnę, że atak na Ukrainę obecnie grozi głodem w wielu regionach świata (o czym pisałem już w marcu Samonapędzająca się tragedia głodu...).

Jeśli faktycznie są to ingerencje administratora systemu, to należy się spodziewać, że powyższe zagadnienia nie pozostaną w sferze rozważań, ale naprawdę np. głód (oby nie!!!) doprowadzi do drastycznej zmiany zaludnienia Ziemi.

Kryzys energetyczny również jest bardzo pożądany z punktu widzenia administratora systemu (internet, oświetlanie ulic itp.).

Jeśli te mroczne wizje się spełnią to ponownie nie będziemy mieli bezsprzecznego dowodu, że żyjemy w przeciążonym symulatorze, ale taki rozwój zdarzeń, będzie potwierdzał założenia tu przedstawione.



Kolejne rozważania o tym czy żyjemy w symulatorze z pewnością jeszcze się pojawią, bo jak widzicie to jest naprawdę temat, który narodził się w mojej głowie już w dzieciństwie (kiedy np. Matrix jeszcze nie istniał).
Zapraszam!;)

sobota, 13 sierpnia 2022

Czy żyjemy w symulatorze?

Takie pytanie zadaje sobie i czytelnikom autor obszernego artykułu dostępnego w aktualnym numerze Astronomii, która właśnie obchodzi swoje 10-cio lecie! Gratulacje!;)

Wracając do tematu, to bardzo ciekawe zagadnienie, a jest tym ciekawsze, że ostatnie osiągnięcia nauki oraz rozwój naszej technologii przyczynił się do tego, że z jednej strony coraz więcej wiemy o istocie świata, w którym żyjemy a z drugiej strony mnożą się argumenty przemawiające za tym, że to jednak symulacja.

Hmmm... no skoro stwórca tworzy świat, to oczywiście o wiele łatwiej jest go stworzyć wirtualnie;)
(jest to również bezpieczniejsze - również dla samego twórcy!)

Pytanie to jest o tyle istotne, że skoro dziś naukowcy mają dowody na zjawiska, które mogą potwierdzać, że faktycznie żyjemy w świecie wirtualnym - to przemawia to za tym, że to właśnie dziś, jak nigdy w historii człowiek może zadawać sobie to pytanie!

I oczywiście zadaje. We wspomnianym artykule cytowane są najsławniejsze głowy naszej cywilizacji, które snują rozważania na ten temat. Znajduje się tam też wprowadzenie, które wyjaśnia dlaczego właśnie dziś możemy sobie zadawać to pytanie i jak nigdy dotąd nie znajdzie się taki, który powie, że to z całą pewnością nie prawda - bo wspomnianych dowodów naukowych jest coraz więcej, zamiast coraz mniej...

I cóż z tym począć?;)

Ja mogę nieco rozwinąć treść tego arcyciekawego artykułu:

W aktualnej "Astronomii" możemy przeczytać wiele teorii, omawiane są koncepcje oraz toczące się naukowe przepychanki, gdzie padają bardzo ciekawe stwierdzenia, które bądź tezę tę potwierdzają bądź nie.

Do jednej z ciekawszych można zaliczyć podany w artykule argument sceptyków, że to nie jest symulacja, gdyż wymagałaby ona ogromnych mocy obliczeniowych.

Przy pierwszym zastanowieniu faktycznie argument wydaje się sensowny. Spopularyzował wizję życia w symulacji film Matrix z lat 90. i właśnie choćby na jego przykładzie widać wyraźnie, że faktycznie symulowanie takiego świata wymaga ogromnych mocy obliczeniowych, które dziś są niepojęte. (przy okazji: jestem bardzo rozczarowany filmem Matrix, który kulał na obie nogi tego intelektu, który go stworzył - niestety! Pisałem o tym niedawno w tym poście).
Jeszcze innym zagadnieniem, jest nadwyrężenie mocy obliczeniowej takiego świata, chyba po raz pierwszy w masowej rozrywce temat został zaprezentowany (całkiem sprawnie) w 3 sezonie serialu Westworld (Wikipedia), gdzie uczestniczka celowo doprowadza do takiej sytuacji.


To bardzo ciekawe, bo jednocześnie jest to fajny test na to czy żyjemy w wirtualnej rzeczywistości. My obecnie żyjemy w przekonaniu, że nie da się nadwyrężyć mocy obliczeniowej tego świata - o ile on faktycznie jest cyfrowy.

Nie jest to jednak takie proste, bo może właśnie wiele rzeczy, które są dla nas oczywiste są właśnie objawem tej niewydolności? Posługując się przykładem wspomnianego filmu Matrix, to może właśnie deja vu?

Z fizyki znane od dawna (a w skali kosmicznej to od niedawna:P) zjawisko dylatacji czasu (Wikipedia), może właśnie jest taką sytuacją, w której procesy tak szybkie prześcigają możliwości systemu? Właśnie tak mi to wygląda...

Informatyk powiedziałby na to: system jest niewłaściwie zbalansowany, bo różne jego części wymagają drastycznie różnych mocy obliczeniowych.

Jeśli faktycznie dochodzi tutaj do takiego zjawiska, to mówimy tutaj o takich chwilowych zatrzymaniach symulacji, które są niezbędne do nadrobienia tych utraconych - "klatek symulacji" - jak utracone klatki animacji w grach.

To baaardzo problematyczne, ponieważ każdy z nas wyposażony jest w oczy, które bardzo często mrugają, a nasze mózgi są tak skonstruowane, że nie dostrzegamy tych chwil, w których mamy wyłączoną wizję!

Oooooo! To gruba kwestia!


Czytałem kiedyś szacunki ile czasu z życia nam wypada, właśnie poprzez ten brak wizji - ponoć kobiety tracą go więcej. Może to taki naturalny i działający na szeroką skalę system, który ma zapewnić, że jeśli system się nie wyrabia to my nie mamy żadnych szans się zorientować, że system zamarł(!)

Uwaga! Uświadomcie sobie, że każdy z nas jest wyposażony w mechanizm mrugania, który wyłącza nas!
...i być może wyłącza nas cały czas i my nie mamy żadnych szans się zorientować, że system symulacji właśnie miał laga!

Z punktu widzenia projektanta sytemu to genialne rozwiązanie! Bo gdy w grze grafika się przytnie to widzimy zamrożony obraz i to razi, a jeśli lag jest potężny to można w międzyczasie zginąć i nie zauważyć tego itp.
Tu jednak nie mamy szans się zorientować, że lagi są na porządku dziennym;)

Jest jeszcze jedno zjawisko, które jest opisywane jako wskazówka zegara, która zatrzymuje się w czasie. Naukowcy tłumaczą nam, że gdy spojrzymy na zegar to pierwsza sekunda jest dłuższa. Tłumaczą to po swojemu, ale to też wygląda wypisz wymaluj na jakiegoś laga...


Wydajność systemu symulacji


To jest oczywiście kluczowa kwestia. Pytanie jednak, czy jest prawdą, że nie opłaca się tworzyć tak bardzo złożonej symulacji. Ponownie przechodząc do świata Matrixa - można powiedzieć: ok, no ale czy ludzie są tutaj wystarczająco wydajni? Może produkują za mało prądu, aby uruchomić taką symulację? A przecież mają jeszcze zasilać maszyny...

Coś w tym jest...

Jednak ja się z tym nie zgadzam.

Przykładowo mruganie, może być też przełączeniem się "zadań" w naszych mózgach - np. podczas mrugnięcia nie myślimy, nie mamy świadomości bo np. moce obliczeniowe naszego mózgu są przeznaczane w całości na rzecz samego symulatora.
Jest to o tyle użyteczne rozwiązanie z punktu widzenia nadrzędnego systemu, że jeśli potrzeba więcej mocy obliczeniowej, to dłużej przymykamy oczy i wszystko jest nadganiane - a my (po podmianie zadań w mózgu) nie możemy mieć bladego pojęcia: czy i jak długo!

Jeszcze innym wariantem jest sytuacja, w której system symulatora jest wyposażony w dostatecznie duże źródło energii (np. zasilanie Bazy Starkiller w Gwiezdnych Wojnach epizod VII lub jakaś zimna fuzja itp.), wtedy moce obliczeniowe nie są tak istotnym problemem, jak my to współcześnie rozumiemy.

Jednak załóżmy, że tak nie jest, że brakuje energii albo komputer symulatora ma za mało mocy obliczeniowej w tak rozrośniętym systemie i populacji.


Po pierwsze: wszędobylska optymalizacja


Jednym z najbardziej ciekawych przykładów jest to o czym wspominałem na początku, że obecny rozwój nauki oraz dzisiejszych gier pokazuje ogromne podobieństwo. W skrócie chodzi o to, że obecnie w grach, generowany jest tylko ten świat, na który właśnie patrzymy, cała reszta jest pomijana. W początkowych czasach, czyli jakoś około lat 80. i 90. odkryciem stulecia było to, że genialną optymalizacją wydajności generowania światów 3D jest renderowanie wyłącznie tego na co patrzymy. Zyski były ogromne. Zaczęło się sprawdzanie pola widzenia, sortowanie obiektów itp.

Tymczasem doświadczenia naszych fizyków, dowodzą że nasz świat działa podobnie, już od dawna mówiło się o tym, że to na co nie patrzymy być może nie istnieje. To nie jest dobry przykład, ale może być on obrazowy: problem kota Schrödingera (Wikipedia), który jest co najmniej infantylny, ale wyobraźmy sobie, że z punktu widzenia systemu komputerowego, niech ten kot naprawdę nie istnieje skoro nikt na niego nie patrzy?

Właśnie tak się to obecnie robi w grach, to czego nie widzimy jest wyłączane z procesu renderowania sceny np. gry czy innej symulacji.

Warto więc zadać pytanie: no to może naprawdę znajdujemy się w symulacji?

To co teraz opisałem jest oczywiste i najczęściej podawane w tym zagadnieniu. Jednak teraz napiszę coś o czym się zwykle nie mówi.

Takich optymalizacji naszego świata jest cała masa i właśnie ta ilość zaczyna być zastanawiająca!
Po pierwsze wszyscy jesteśmy ograniczeni - choć niekoniecznie zdajemy sobie z tego sprawę na co dzień. W liceum koleżanka mówiąc do nauczyciela powiedziała, że człowiek nie jest ograniczony, a ja na to przy całej klasie: właśnie jest baaardzo ograniczony: jesteśmy teraz w klasie - czyli zamkniętym pudle: widzimy tylko to co się tutaj dzieje, słyszymy również głownie to co tutaj się rozgrywa oraz w ograniczonym zakresie to co za drzwiami oraz za oknem. Ale nie słyszymy i nie widzimy tego co się dzieje po drugiej stronie tego budynku.

Jak widać, niektórzy mogą żyć w przekonaniu, że to nie są ograniczenia - choć koleżanki nie chcę teraz obrażać, bo naprawdę jest bardzo inteligentną i interesującą osobą;)

Ponownie, z punktu widzenia projektanta systemu to genialne, że nie jesteśmy duchami, które mogą przenikać ściany, widzieć przez nie i słyszeć - fantastyczna optymalizacja.

(samo ustawienie podłoża-Ziemi pod nami (konstrukcja naszego świata) oraz grawitacji, która nas dokleja do podłoża, już ucina pół świata(!), w przeciwieństwie do sytuacji, w której żylibyśmy w 3D jak kosmonauci - mocna optymalizacja systemu!
Należy to rozumieć w ten sposób, że im większa, im powszechniejsza, im silniejsza siła przyciąga nas do podłoża-ograniczenia (tym mniejsze prawdopodobieństwo, że ktoś się temu przeciwstawi) tym większa szansa, że jesteśmy w symulatorze!
Zwróćcie uwagę, na to o ile częściej możemy latać w grach, niż w życiu!)

Ktoś może powiedzieć: ok, ale przecież na świecie jest kilka miliardów ludzi, a każdy jest wyposażony w mózg - czyli komputer - to ogromne moce obliczeniowe, które są niezbędne do takiej symulacji.

To nie jest takie proste, bo moc obliczeniowa potrzebna jest na boty (np. zwierzęta), ale jeśli tam po drugiej stronie jest prawdziwy człowiek to jego biologiczny mózg z jednej strony może niwelować potrzebę zużywania mocy obliczeniowej na symulowanie działania mózgu, a z drugiej strony część mocy obliczeniowej mózgu może być na stałe wykorzystywana jako część mocy niezbędnej do funkcjonowania samej symulacji.


Bardzo istotne jest też zagadnienie: jak działają nasze mózgi. Wszyscy o tym wiemy, choć może sobie cały czas tego nie uświadamiamy (uświadamiamy, gdy już się złapiemy:P), że mózg ciągle chodzi na skróty. Dosłownie również, bo np. do domu wracamy tą samą drogą.

To takie lenistwo naszego mózgu, skoro coś powtarzamy to robimy to na autopilocie. To się tyczy chodzenia, wykonywania złożonych czynności a nawet mówienia (niektóre zaburzenia mózgu powodują bardzo widoczne objawy takich uproszczeń mowy, słownictwa itp.). Do tego zaliczyć można błąd w rodzaju wkręcenia papierosa do zamka, zamiast klucza;) Gdy się połapiemy to mówmy: co ja robię??

To pokazuje, że nasze mózgi również stosują wiele optymalizacji (są to oszczędności CODZIENNE, czyli na masową skalę w systemie!), czyli oszczędności mocy obliczeniowej mózgu - oszczędności energii oraz jego wydajności na dalsze ważniejsze czynności.

Czy mózg jest symulowany, czy nie jest skonstruowany tak, aby był maksymalnie wydajny. Niech to będzie właśnie lenistwo mózgu.

...a niektórzy to prawdziwi prymusi lenistwa!;)))

Nie będę wskazywał palcem, ale miałem tutaj napady hord trolli - więc wiadomo;) Ostatnio zaproponowałem konkurs, najpierw podlinkowano rozwiązanie z internetu, a potem gdy powiedziałem, że oczekuję na inne rozwiązanie (może być to moje) to od roku nikt się nie zgłosił...

To też takie lenistwo - po co mam pisać program, skoro w Google może znajdę gotowy kod, który ktoś już kiedyś napisał!

I w tym wypadku nie obrażam tutaj takich ludzi (choć z punktu widzenia nauki - to właśnie jest takie rozróżnienie, że ten kto znalazł kod w internecie nie może siebie nazwać programistą... ale to inny temat) - jednak właśnie nasz mózg kiedy tylko trafi się okazja - oszczędza!


To jeszcze nie koniec oszczędności

...czyli uproszczeń - optymalizacji systemu.


Nasze mózgi nie tylko są leniwe, ale też mają coś zupełnie innego!
Wiecie co?

Mają wbudowane ograniczenia, które działają niesamowicie sprawnie - i podobnie jak jest z mruganiem oczami - tutaj najczęściej kompletnie nie zdajemy sobie z tego sprawy.

Kiedyś na pewnym wykładzie (jest do znalezienia na YT) powiedziałem, że to jak nasze myśli błądzą w naszych głowach to jest takie pomieszczenie, ale każdy z nas ma je inne: jedni mają bardzo wąskie, inni bardzo niskie, a inni bardzo długie itp. Problem w tym, że nasze myśli nigdy nie przekraczają tych ścian i my kompletnie nie jesteśmy tego świadomi!

Warto to podkreślić: nie wiemy gdzie się kończy świat naszych myśli na współrzędnej x, y i z. Nie jesteśmy świadomi tego czy nasze myśli doszły już do takiej ściany czy może jeszcze mają do niej daleko - ale już kompletnie nie jesteśmy świadomi tego, że przez całe życie nasze myśli nie przekroczyły tej ściany!

Nie opowiadam tu żadnych bajek - zapewniam!;)

To wieloaspektowe zagadnienie, niemniej jest naukowo dowiedzione, że każdy z nas ma swoją osobowość. Tymczasem właśnie osobowość to faktycznie jest zbiór naszych ograniczeń - ograniczenia bywają piękne, to nie jest wada, ale też jednocześnie uniemożliwiają nam lub baaardzo utrudniają przekraczanie owych granic.

Jeśli przeczytaliście sobie (choć pobieżnie) jak rozumiemy kolejne osobowości jakie rozróżnia psychologia, to nie wiem czy zwróciliście uwagę na pewien automatyzm (znów mózg idzie na skróty!) oraz ograniczenia, które opisują danego osobnika.
Podkreślam to nie jest źle, że tak jest - że jesteśmy ograniczeni... paradoksalnie...

(przykładowo dziś w epoce internetu jesteśmy przeładowywani informacjami (tzw. przeciążenie informacyjne (Wikipedia)), możemy spędzić całą dobę na czytaniu newsów tylko z jednego portalu... Dlatego dziś jak nigdy wcześniej wiemy, że mózg może zostać przeładowany informacjami i wiemy jak się tym męczymy. Dlatego nie trudno wytłumaczyć, że gdyby dochodziło do mózgu zbyt wiele obrazów, zbyt wiele dźwięków np. z całej dzielnicy (film Lucy) - to nie wytrzymalibyśmy tego - też zastanawiające...)

...jednak z punktu widzenia projektanta systemu - wprowadzamy do systemu ludzi: ograniczonych, a przez to optymalnych oraz ... UWAGA! ... przewidywalnych!

To projektant jest w domu?;)

Co więcej optymalizacje sięgają maksimum, bo przykładowo są takie zaburzenia psychiczne, które zdrowi nazywają właśnie automatycznymi, wręcz robotami - tak mówią o takich ludziach!

Nie jest to przesadą, są takie osobowości - tacy ludzie, którzy są wyjątkowo automatyczni w różnych czynnościach i naprawdę zachowują się jak roboty.

Co więcej niektóre osobowości są takie, że posługują się bardzo ograniczoną ilością dostępnych opcji, czyli mówimy tu o ludziach niezwykle przewidywalnych.

Często żony, mówią że ich mężowie są przewidywalni (o jakie to niebezpieczne!:P), ale zapewniam was, że są takie osobowości, które są naprawdę przewidywalne na każdym kroku. Pisałem o tym ostatnio na przykładzie kaputina, że jest przewidywalny np. w swojej agresji itp. Tacy ludzie są niesamowicie przewidywalni, co nie przeszkadzało w tym, że większość ekspertów i komentatorów nie przewidziała jego ostatniego ataku - ciekawe;)

Jeśli człowiek jest przewidywalny to nawet jeśli system ma co chwilę lagi, których nie dostrzegamy bo mrugamy powiekami - to o wiele łatwiej jest wszystko nadgonić w trakcie mrugnięcia...
Ok są nas miliardy, ale jesteśmy bardzo przewidywalni...

"Shut down forever!"


Przewidywalne jest coś jeszcze... Mówiłem o mruganiu powiekami... ale przecież każdy z nas MUSI spać!

To ponownie GRUBA RZECZ!

Jeśli założymy, że każdy z miliardów ludzi musi spać raz na dobę minimum 6 godzin - to wynosi to 1/4 doby. Nie muszę Was przekonywać, że ponownie pasuje to idealnie do naszych rozważań o optymalizacji systemu!
(w pracy programista, który dokonał optymalizacji systemu o 1/4 - dostaje premię, a koledzy będą go nosić na rękach;)) )

Czyli mamy system, w którym wszyscy mają ograniczone mózgi (osobowość, zaburzenia), co chwilę mrugają oczami... i jeszcze śpią!

Nie byłoby to aż tak istotne, gdyby nie słowo "musi"...

To reguła i jednocześnie potężne ograniczenie.

Jakby tego było mało, system nas karze, gdy zmuszamy się do niespania. Człowiek, który długo nie spał doskonale wie, że jest karany, jego reakcje są spowolnione, jest senny - cierpi. Im dłużej nie śpi np. dobę, tym bardziej zachowuje się jak zombie - nie można mu dać nawet prostego zadania matematycznego do rozwiązania, nie mówiąc o bardziej złożonych operacjach, które często na co dzień wykonujemy (to zagraża naszemu życiu! Czyli szantaż!).

Brzmi znajomo?

Ponownie zastanówcie się nad tym, że podobnie do systemu mrugania powiekami (również jesteśmy karani, gdy tego nie robimy!), system obowiązkowego snu jest znaczącą optymalizacją systemu na ogromną skalę.

To bardzo poważna rzecz, nasze mózgi są tak skonstruowane, że da się je wyłączyć(!) i... musimy robić to często i regularnie!

To przypomina uśpienie/hibernację komputera. Komputer ma wbudowany mechanizm, dzięki któremu możemy uśpić każde zadanie w systemie oraz całość systemu!

Widzieliśmy to w filmach: Dark City oraz Lucy.

Jednak zdajcie sobie sprawę, że nasze mózgi zostały tak skonstruowane, że nie potrafią inaczej funkcjonować jak z długim i częstym snem?

Elektronikowi mógłbym w tej chwili powiedzieć, że ten procesor ma doprowadzoną linię HALT.

Jeśli wszyscy mamy doprowadzoną linię HALT, która notorycznie jest włączana, to znaczy że kompletnie nic nie wiemy o tym w jakim systemie żyjemy!

Co więcej tak jak komputer nie ma pojęcia, czy zostanie uśpiony na 5 minut czy na 5 miesięcy - podobnie my nie wiemy co się dzieje jak śpimy (film Dark City) i jak długo śpimy....

Przerażające?;)

Dla nas przerażające, ale dla twórcy systemu śmieszne i oczywiste, przecież programy (zadania/procesy) w systemie komputerowym też możemy usypiać;)


Jeszcze innym zagadnieniem, nieco podobnym do snu, jest nasz rozwój. Najpierw jesteśmy niemowlęciem, potem dzieckiem i nastolatkiem. We wszystkich tych etapach mamy bardzo ograniczone możliwości mózgów, początkowo nie potrafimy mówić, a nawet jeśli już potrafimy to mamy ubogie słownictwo i zwykle nie mówimy nic wartościowego czy odkrywczego - żaden profesor nie przychodzi na konsultację do dziecka;)

U nastolatków to pomieszczenie naszych krążących myśli się znacznie poszerza, jest to ciekawy etap i bardzo ważny (np. aby się nie zatrzymał lub aby się rozwijał w zrównoważony sposób po wszystkich osiach). No ale podkreślmy, jeśli coś się rozwija, nawet szybko to znaczy, że średnio nie jest w tym okresie mocno rozwinięte.

Okres dzieciństwa to bardzo proste reakcje, uproszczone (lub brak) słownictwo i bardzo ograniczone myślenie i rozumowanie. Warto podkreślić, że znajduje to od dziesięcioleci potwierdzenie w badaniach mózgów (tzw. fal mózgowych) - więc nie są to jedynie obserwacje, ale naukowe pewniki.

Fajna optymalizacja?;)

To jeszcze nie koniec, bardzo podobne procesy zachodzą w przeciwnym kierunku, gdy osoba się starzeje!

Mamy tu dwa istotne okresy ludzkiego życia (dwa z trzech!), w których absolutnie nie wykorzystujemy całego potencjału naszego mózgu! Bardzo silny argument przemawiający za tym, że nasze mózgi są symulowane. Są zbudowane w optymalny sposób z ograniczonymi etapami życia - czyli zaoszczędzone zasoby systemu symulatora mogą być przekierowane do ważniejszych zadań.

33% oszczędności to ponownie ogromna optymalizacja!
...i nikt z nas nie może przed tymi etapami uciec...


Te wszystkie ograniczenia to cały czas mało!


Mamy coś takiego jak powszechnie obowiązujące prawa natury, fizyki oraz chemii.

Z naszego punktu widzenia to proza codzienności - jak jabłko Isaaca Newtona, ale z punktu widzenia projektanta systemu - ważne ograniczenia - czyli optymalizacje systemu!


Piszę o tym wszystkim z prostego powodu: tych ograniczeń, czyli optymalizacji systemu jest tak wiele... za wiele!

...że niestety, ale tak się projektuje duże systemy i jest to może nie dowód, ale naprawdę poważny argument przemawiający za tym, że faktycznie żyjemy w symulatorze...


Po drugie: moc, mocy nie równa


Powiedzieliśmy sobie już, że system taki nie wymaga takich dużych mocy obliczeniowych jak się zakłada, bo wszystko zostało zaprojektowane optymalnie, czyli zostało wprowadzone wiele uproszczeń, ułatwień, prekalkulacji zapisywanych na bieżąco w bazach danych itp.

Argument stanowiący o tym, że symulator z samej swojej natury jest tak bardzo wymagający pod względem mocy obliczeniowej (czyli energii) ma jeszcze jeden słaby punkt.

Nasze komputery działają w oparciu o procesory takie jak np. ARM, Intel, AMD itp. To są klasyczne procesory, których działanie jest bardzo proste, a obecny bardzo duży przyrost mocy obliczeniowej np. kart graficznych (które obecnie są centrum szybkiego przetwarzania danych) oparty jest nie na zmianie tego jak powinien działać program i procesor, ale jedynie na zwielokrotnieniu takich jednostek, które najlepiej aby pracowały równolegle, czyli niezależnie od siebie (co często nie jest możliwe z wielu względów - innym razem wyjaśnię).

Tymczasem, gdy zmienimy sposób myślenia o komputerze to natkniemy się np. na komputer kwantowy (Wikipedia), który zaskakująco może dla niektórych dostarcza o wiele rzędów większe moce obliczeniowe.

Dlatego należy zmienić myślenie: jeśli żyjemy w symulatorze, to jest on z pewnością uruchamiany na komputerach o wiele, wiele, wiele razy większej mocy obliczeniowej niż te, które obecnie mamy - czyli są w tym systemie symulowane.

To oczywiste - dla wydajności, lepiej symulować działanie komputerów prostszych, niż te na których symulator jest uruchamiany;)

Tu ponownie pojawia się problem, umyślnego przeciążenia systemu z serialu Westworld. Czyli mamy zoptymalizowany i zbalansowany symulator, ale w ramach tej symulacji jednostki działają złośliwie, czyli wykorzystując wiedzę o samym systemie (my niestety obecnie niewiele o nim wiemy - ale jeśli mam rację w tym co tu napisałem to może niedługo będziemy o tym wiedzieć więcej!) powodują, że nadwyrężają te części systemu, które są najsłabsze lub robią to z czym system radzi sobie najmniej wydajnie - z założenia.

To oczywiste, że takiej sytuacji żaden system nie udźwignie, bo bez względu jaka jest jego moc obliczeniowa - to zawsze (jeśli wiemy co robimy) możemy ten system nawet zawiesić (ciekawe czy zawieszenie to jest takie dłuższe przymknięcie powiek - taki wielogodzinny sen??).

Oczywiście nie jestem w stanie przekonać Was na 100%, ale przyznacie, że tych przypadków podobieństw do tego jak się dziś projektuje symulatory (np. gry komputerowe) - jest jakoś zbyt podobne do tego co dziś naukowcy, fizycy mówią o naszym świecie.


Czy jest do pojęcia?


Pod koniec autor tego artykułu zadaje ciekawe pytanie... ok, mamy bardzo zaawansowany symulator, doskonale dostosowany do naszych mózgów, działanie naszych mózgów doskonale jest zgrane z wadami tego symulatora czyli np. z ciągłym mruganiem i cyklicznym snem. Ale co jest za zasłoną symulacji?

Wg autora artykułu, możemy mieć problem w zrozumieniu tego świata, który faktycznie znajduje się po drugiej stronie. Jak dowiodłem podstawy naszej egzystencji są oparte o zasady i reguły, które faktycznie są ograniczeniami systemu - być może wprowadzone specjalnie w celu zrównoważenia i zminimalizowania obciążenia obliczeniowego.

To sugeruje, że świat w którym działa symulator naszej rzeczywistości - kompletnie nie przystaje do tego co my znamy jako codzienność!

To jest też kolejny argument odnośnie wydajności, te ograniczenia wydajności komputerów, które my znamy, po tamtej stronie po prostu nie istnieją!
Nasuwa się tutaj porównanie: Bóg i boski świat w kontrze do naszego ograniczonego i zamkniętego.

Zgadzam się z sugestią autora: naprawdę tamten świat może być radykalnie i drastycznie inny, a zarazem może być kompletnie nie do przewidzenia i wyobrażenia - dla nas przyzwyczajonych do ograniczeń, które prawie do końca nas definiują!
...cóż na to poradzę...

Jednak, ja bym tego pytania tak nie zadał. Mózg jest od tego, aby wszystko zrozumieć, choć przyznam to może nie być łatwe.

Jak trudno jest się przestawić, nauczyć czegoś wie każdy, kto się uczył czegoś nowego, np. jeżdżenia na Segway-u;)

Jak żyć, bez prawa powszechnego ciążenia? Jak żyć bez pojęcia góry i dołu? Jak żyć w niefizycznym świecie, czyli takim który będzie w opozycji do tego, który najlepiej znamy?


Trudności z pewnością są, ale pragnę zwrócić Waszą uwagę na rewolucje jakie ostatnio dokonały się na naszych oczach. Z łatwością zapadamy się w całkowicie fikcyjne światy książek, potem kina i telewizji, obecnie od kilkudziesięcioleci w różnorodne światy gier komputerowych. Idzie nam naprawdę dobrze.

Obecne lata pandemii są rekordowe w ilości czasu jaki spędzamy w wirtualnych światach (czy społecznościach). Sam stworzyłem z kolegą specjalny kanał, na którym spotykamy się i obecnie jest ekipa, która niemal regularnie się tam spotyka i rozmawiamy tam np. na takie tematy jak ten.

Świat internetu jest światem: fikcyjnym, sztucznym - wirtualnym. To pokazuje, że nasze mózgi doskonale odnajdują się w zupełnie odmiennych rzeczywistościach.

Nie wiedzieliście tego?

Może jednak zrozumienie i ogarnięcie nadrzędnej rzeczywistości do naszej - nie będzie takie trudne?;)

Byłoby fajnie!;)


Chciałbym kiedyś znaleźć odpowiedź na to pytanie...
...na razie odpowiedzi na niektóre z nich dostarczają: symulacje i wirtualna rzeczywistość;)


Polecam artykuł (oraz inne ciekawe w tym numerze - np. super wyprawa dla fanów Star Wars!) oraz magazyn "Astronomia" - jedyny polski miesięcznik astronomiczny;)


Update:
Rozważania powyższe są możliwe i obecnie powszechnie zrozumiałe głównie za sprawą rozwoju dzisiejszej informatyki oraz gier komputerowych.

To interesujące, jak nasze dokonania naukowe i inżynieryjne doprowadzają nas do czegoś kompletnie niespodziewanego.

Granie się do niczego nie przydaje?

Warto wspomnieć o osobach posiadających bardzo ograniczone możliwości myślenia (czyli tak jak wcześniej pisałem osoby nie tylko nie wiedzą gdzie znajdują się ściany, ale niestety te ściany są bardzo wąskie i niskie dając małą przestrzeń), które jak to często bywa mają najwięcej do powiedzenia i najgłośniej tak,aby wszyscy to usłyszeli (Zgroza!).
Taki przykład (niereprezentatywny - choć kto wie;) ), czyli post Granie się do niczego nie przydaje.

Tak jak cytuję w jednym z komentarzy, gry komputerowe to szczególny przypadek z dziedziny tzw. symulacji komputerowej. To bardzo zaawansowana (np. matematycznie i informatycznie) dziedzina wiedzy i informatyki.

Może zszokuje to osoby, które uważają że gry się do niczego nie przydają, ale w mojej ocenie gry komputerowe to najbardziej wymagająca i trudna dziedzina informatyki.

Dodatkowo jak widać otwiera nam wszystkim oczy na świat, życie i jego fundamenty.

Innymi słowy dzięki grom dowiedzieliśmy się o otaczającym nas świecie, zadziwiająco dużo - tak dużo, że nikt by tego nie przewidział np. 200 lat temu.

Życie w symulatorze jeszcze 200 lat temu było niemal nieistniejącym tematem, a dziś dzięki filmom i grom - temat jest powszechnie znany.


Update:
Kolejny odcinek cyklu we wstrząsającym poście: Czy żyjemy w symulatorze? Cz. 2 Optymalizacja.

czwartek, 22 kwietnia 2021

Przełomowe Atarowe odkrycie w Action!;)

Wczoraj dokonałem przełomowego odkrycia, coś czego się kompletnie nikt nie spodziewał.

Odkrycie dotyczy rewelacyjnego języka programowania Action! z 1983 roku(!) ACS, który był prawdopodobnie pierwszym językiem, który był stworzony z myślą o tworzeniu profesjonalnych gier i dem. Do dziś nie poznałem języka szybszego i lepiej przemyślanego - naprawdę niezwykłe!

Wrato zaznaczyć, że do dziś wszyscy pamiętają, że Action! to znaczy szybkość i że nie ma możliwości odnalezienia innego języka, który byłby prawie tak szybki jak asembler.

Wyjaśnię czego dotyczy odkrycie: gdy pracowałem kiedyś w Mirage Software z Jaśkiem, to rozgryźliśmy w tym języku bardzo ciekawą rzecz, mianowicie język zezwala na to, aby utworzyć tablicę o adresie 0. Kiedyś na party podszedł do mnie koder z innego komputera, czyli Sqward i zapytał co to za potworek? Tablica bez wartości tylko z jakimś zerem??
Genialność tego rozwiązania jest niesamowita, bo skraca i upraszcza dostęp do pamięci. We wszystkich innych językach programowania mamy dwa rozkazy (+ inne wariacje tak jak w Action!), czyli POKE i PEEK. Natomiast ta tablica powoduje, że nie potrzeba już żadnych procedur, a dostęp do tablicy posiada funkcjonalność ich obu!;)
Dodatkowo każdy kompilator wykonuje skok do procedury, a następnie powrót - czym traci masę czasu CPU. Jednak przy dostępie do tablicy nie ma żadnego skoku (szczególnie czasochłonny jest na pecetach x86) i nie ma żadnego powrotu!;)

Korzystaliśmy z tego rozwiązania latami, będąc przekonanymi, że nie ma w żadnym języku czegoś szybszego i bardziej sprytnego;)

No i tak było do wczoraj:P

Odkryłem coś co powoduje, że przenosimy się o kilka poziomów wyżej w programowaniu zaawansowanych animacji (w grach/demach) na Atari w Action!
Trudno w to uwierzyć, no ale po dziesięcioleciach od 1983 roku - dziś udało mi się coś w tak stareńkim języku odkryć!;)

Udało mi się opracować bardzo podobny mechanizm tablicy, z którego korzysta się w prawie identyczny sposób, jednak jego wydajność jest naprawdę imponująca!

W przykładzie:
    ; Zapisanie 21 bajtów w graphics 15 za pomocą tablicy P:
    [173 $D40B 201 40 208 249]
    GG=6
    QQ=$9000
    FOR Q=0 TO 20 DO
    P(QQ)=255 QQ==+1
    OD
    GG=0
trwa 22 linie rastra...
Do wczoraj każdy by powiedział, że jest to bardzo szybko jak na język tak stary i język który nie jest asemblerem, ale kompilatorem.

Jednak jak wykorzystamy mój nowy pomysł np. tak:
    [173 $D40B 201 80 208 249]
    GG=6
    FOR Q=0 TO 20 DO
    FastP(Q)=255
    OD
    GG=0
Zajmuje to 10 linii rastra!
Czyli ponad dwukrotnie szybciej!;)


Widzimy wykresy wydajności rastra, dla zaprezentowanych tu przykładów kodu wykorzystujących oba rozwiązania.

(oczywiście obie wersje programu da się napisać wydajniej - ale to takie proste obrazowe przykłady)

Rewolucyjne jest również to, że o kilka poziomów zmniejsza to też rozmiar kodu!;)

Do tej pory w moich grach były liczne procedury, które animowały przeciwników w najszybszy możliwy sposób, czyli za pomocą tablicy P. Niestety procedury te były bardzo duże, zajmowały wiele kilobajtów, więc nie byłem z tego zadowolony.

Więc co daje nowe rozwiązanie?

W zależności od sytuacji mamy tu: od ~2,9 do 4,2 razy krótszy kod! Oczywiście względem zwykłej tablicy P!

To naprawdę duża oszczędność.
Naprawdę zawadzały mi te procedury, gdy będą mogły być 3 - 4 krotnie krótsze to jest coś!;)

Okazało się, że myk jaki wymyśliłem - Action! kompiluje do 5 bajtów kodu dla stałej i do 8 bajtów przy zmiennym adresie (animacji). Jest to najmniejszy rozmiar kodu jaki da się wygenerować, więc krócej i szybciej na Atari się już nie da;))

Coś niesamowitego, naprawdę sądziłem przez kilkadziesiąt lat, że szybciej się już nie da... A jednak!;)

Tu zaprezentowany jest najszybszy powszechnie znany sposób, dzięki któremu można najszybciej zmodyfikować w Action! komórkę pamięci - wydajność 100% asemblera (tu modyfikacja adresu $9000 w trybie 15). Niżej znajduje się mój nowo odkryty trick FastP, który nie dotyczy tylko jednego adresu jak w pierwszym przypadku, ale nadaje się do robienia animacji - jednak jak widać czas wykonania obydwu jest ten sam!

Ten zaawansowany i niebezpieczny trick jaki zastosowałem spowoduje, że moje gry, które do tej pory grały na nosie wszystkim np. strzelankom, ze wszystkich możliwych komputerów 8-bitowych, teraz będą od 70% do 80% szybsze!;) a miejscami i 100% szybsze;)
...i to bez grama asemblera! Bo trzeba podkreślić, że na innych komputerach nie było tak zaawansowanego i profesjonalnego języka programowania, więc nie dało się zrobić profesjonalnej strzelanki w żadnym kompilatorze - takie gry robiło się wyłącznie w asemblerach.

W mojej ocenie Atari i Action! pokazały tutaj pazur!;)


A wszystko dzięki temu, że właśnie pracuję nad grą na konkurs Sikora tzw. 16 Kb Cart 2021;) Natomiast to odkrycie Sikor! pewnie nie zostałoby odkryte, gdyby nie Twój konkurs;)
Dzięki Sikor!;)

Jakbym komuś powiedział w latach 80. że uda mi się dziś coś podobnego odkryć - to pewnie nikt by mi nie uwierzył!:))) Ja wtedy bym zareagował: to daj mi maszynę czasu bo chcę wiedzieć jak to zrobić!;)


Update: 9 VI 2022:
Tak... mój blog przeszedł kolejny najazd rządnych krwi trolli (26 komentarzy! nie licząc licznych wątków na forach - obłęd!), jednak leci obecnie już 14 miesiąc od czasu tego postu i nikt (ABSOLUTNIE NIKT!) nie wpadł na to co konkretnie odkryłem.

(w czasie najazdu obleśnych szyderców to posiłkowano się kodem, który został kiedyś opublikowany, jednak gdy wyjaśniłem że nie o to mi chodzi, to jakoś wszyscy zamilkli - nawet nikt nie próbował dojść o co chodzi...
Choć jak mniemam, podstawy obsługi wyszukiwarek internetowych mają wszyscy w małym palcu, więc założyć można że w internecie rozwiązana znaleźć nie można...)

Przypominam, że umiejętność znalezienia cudzego kodu w internecie, nie jest przesłanką do tego żeby siebie uważać za wielkiego programistę, bo jak mniemam wszyscy trolle w komentarzach pod tym postem - za takich siebie mają...


Update:
Ciekawe! Dziś jest już 1 IX 2022 a ja nadal nie otrzymałem ŻADNEGO rozwiązania tego zadania! Jak pokrzyczeć w komentarzach i na forach to jest wielu chętnych, ale jak napisać parę linijek kodu samodzielnie (a nie wkleić z google'a) to jakoś nikogo nie ma...

To bardzo ciekawe, że jak można dowalić mi to w ciągu kilku minut, pojawiają się komentarze, ale jak trzeba coś napisać z sensem - to nikogo nie ma... ABSOLUTNIE NIKOGO!

To istotne, bo ktoś mógłby napisać, że nie ma ze mną kontaktu, a próbował się ze mną skontaktować i podesłać rozwiązanie - ale jak tu w coś takiego wierzyć, gdy zestawia się ze sobą tollowanie w szybkim czasie (jakoś znaleźć mnie wszyscy mogą?!?) z tym jak upłynęło blisko 1,5 roku!!!

Naprawdę znaleźć mnie nie możecie? A może paluszki się połamały lub klawiatura gdzieś się zapodziała??

Jesteście mali i żałośni!

środa, 7 maja 2014

Wykład Pawła o GPU

Dziś w Politechnice Warszawskiej w ramach KNTG Polygon będzie miał wykład mój uczeń Paweł, gdzie będzie zdradzał swoje doświadczenia związane z optymalizacją generowania grafiki 3D na współczesnych GPU.

Wykład odbędzie się w Auli St. Ryżki (105) o godzinie 19:00 - zapraszam;)


Update:
W zeszłym roku Paweł też miał prezentację w Politechnice Warszawskiej, a było to 27 marca. Prezentował swoje najciekawsze projekty jakie realizował (a miał co pokazywać, mimo młodego wieku), chciałem wtedy napisać o tym post relacjonujący to co się wtedy działo, ale niestety napisałem tylko zalążek i nie udało mi się tego skończyć i opublikować z braku czasu. Dlatego teraz stwierdziłem że zamieszczę moje zapiski z zeszłego roku.

Było bardzo wesoło, nie tylko dlatego że publiczność się dobrze bawiła, ale dlatego że wydarzyło się coś zupełnie nieplanowanego;)
Paweł zaczął prezentować kolejne projekty, omawiał je, swój pokaz podzielił na części część programów uruchamiał pod Windows a część pod Linuksem.

Niektóre programy nieco źle działały pod Windowsem, gdyż ten podczas pokazu bijatyki, która kiedyś wygrała w internetowym konkursie (chyba 48h), cały czas program antywirusowy pokazywał jakieś swoje dziwne okienka z super cennymi informacjami, a jak wiemy gdy Windows ma uruchomioną grę to takie okienka robią dziwne rzeczy. Dlatego publiczność w tym ja nie pozostawiliśmy tego faktu bez odpowiednich komentarzy;)

W pewnym momencie Paweł zaprezentował swój całkiem fajny program coś jak intro w demoscenie i powiedział, że ten program (jako jeden z niewielu) nie jest udostępniony w necie. To zdziwiło słuchaczy, bo właśnie najwyraźniej im się spodobał, dlatego zaczęli pytać dlaczego nie udostępnił.

Wtedy Paweł wyjaśnił, że do intra dodał muzykę i nie jest pewien kto jest jej autorem, dlatego na wszelki wypadek wolał tego nie publikować. Zażartowałem sobie w tym momencie, mówiąc:
    Skoro nie wiesz kto jest autorem utworu to zamieść filmik na YouTube - oni Ci powiedzą kto ma do tego prawa :>:P

Kolejne wydarzenie było pewnie bardzo dziwne dla nadawcy wiadomości, gdyż pisząc do kogoś zwykle myślimy, że tylko on to czyta. Teraz jednak Paweł zaprezentował swoją stronkę z projektami na Facebooku, aby to zaprezentować wszedł na tę stronkę, którą zobaczyliśmy na obrazie z rzutnika. Wtedy pojawił się czat, kogoś kto dostrzegł jego dostępność online i zobaczyliśmy:
    właśnie wyleciałem ze studiów
To był spory zastrzyk śmiechu dla wszystkich słuchaczy ;):)

Dlatego bawiliśmy się na wykładzie Pawła całkiem fajnie, teraz żałuję że nie mogłem być na tegorocznym, ale za jakiś czas ma być kolejna część o GPU.

sobota, 9 lutego 2013

Zgrywanie filmów z emulatora Atari800Win Plus

Obecnie w epoce YouTube'a wiele osób zgrywa różnorodne filmiki, w tym najwygodniejsze jest zgrywanie filmów z klasycznych gier za pomocą emulatorów.

Jeśli chodzi o Atari najlepszym do tego jest emulator Atari800Win Plus (który niestety nieco zawisł w rozwoju), jednak i to wymaga nieco wiedzy i może sprawiać problemy. Ja spotkałem się właśnie z dość zaskakującym, mianowicie zgrałem bardzo długi filmik i niestety straciłem go jak na razie bezpowrotnie.

Problemem jest zgrywanie wielogodzinnych filmów, w moim przypadku problemem było to, że gdy wielkość zgrywanego pliku filmowego osiągnęła rozmiar 4 GiB okazało się, że zgrywanie filmu zostało zatrzymane (plik nie powiększał się), mimo że emulator wskazywał, że wszystko jest w najlepszym porządku.

Problem ten wynika z tego, że wiele systemów plików nie umożliwia zapisu pojedynczego pliku o większym rozmiarze (zwykle taki rozmiar pliku wystarcza). Tu niestety straciłem nie tylko tę część filmu, która była ponad ten rozmiar (nie wiem jaka to proporcja), ale również straciłem całą zawartość pliku, ponieważ plik jest uszkodzony (zgrywanie zakończyło się w teoretycznie przypadkowym momencie, a w plikach filmowych mamy zapisywanych wiele różnego typu danych, które nie mogą ulec uszkodzeniu).

Najpierw próbowałem odtworzyć film za pomocą popularnych playerów, niestety wszystkie poległy (nawet te z rozbudowanymi opcjami naprawy plików - do tej pory działały). Potem użyłem kilku darmowych edytorów filmów i o dziwo one również poległy :/ Być może jeszcze znajdę program, który uratuje przynajmniej ten zachowany fragment danych.


Jak się tego problemu pozbyć ?

Najprostszym rozwiązaniem jest ustawienie odpowiednich parametrów zapisu. Zwykle wybierane są: "Microsoft RLE" (jakość 85), albo jakiś bardziej zaawansowany kodek np. DivX lub Xvid.

W pierwszej ewentualności, długie zgrywanie filmiku bardzo szybko osiągnie rozmiar pliku 4 GiB, ale jest często jedynym wyjściem gdy posiadamy stary komputer. W drugim przypadku efekt jest już zadowalający, bo zapis jednej godziny zajmuje ~400 MiB (w dużej rozdzielczości), ale jest to rozwiązanie które sprawdzi się jedynie na szybszych komputerach.


Opis dotyczy emulatora Atari800Win Plus w wersji np. 4.x.

czwartek, 19 kwietnia 2012

CryEngine 3 - SDK Update 3.4

Wielokrotnie z DAKiem poruszaliśmy temat nowoczesnych enginów działających w czasie rzeczywistym lub nie, efektów itp. (np. tu i tu). Tym razem kolejny filmik obrazujący nowe możliwości silnika CryEngine (wer. 3.4) opracowywanego przez Studio Crytek, a sam filmik podesłał mi mój uczeń Dawid. Oto opis dodany przez osobę zamieszczającą filmiki:
    Further increasing the creative power at developers' fingertips, Crytek today announced the arrival of a feature-filled update to its award-winning game development solution, CryENGINE 3. The CryENGINE 3 SDK now presents users with brand new tools to tap into, including revamped DirectX 11 tessellation, advanced character rendering options, improved AI system and much more.



CryEngine 3 - SDK Update 3.4 Trailer


W internecie trwają dyskusje czy widoczni na filmiku kosmici są nowymi przeciwnikami w grze Crysis 3.


Update:
Link od DAKa Revolutionary soft-body physics in CryEngine3 , dzięki!;)

Nie był bym sobą gdybym nie przygotował listy bugów;)
- czas: 0:27 lekko widoczne przenikanie maski samochodu ze ścianą
- 0:32 to samo co wyżej ale lepiej widoczne
- 0:39 tu widać jak ściana (ciemnoszary kwadrat) jest widoczna od wewnętrznej strony
- 1:04 źle zaprojektowana fizyka, samochody wyczynowe mają mocowaną metalową klatkę aby podczas dachowania nie zgniatały kierowcy. Tu widzimy że samochód nie ma klatki, a fizyka zachowuje się jakby ją miał. Powinno to wyglądać tak jak tutaj: 1:15.
- 1:10 a tu widać że ma cały czas przednią szybę w całości :P
- 1:09 przez maskę widać szybę
- 1:19 znów samochód się odbija jakby miał super klatkę zamontowaną
- 1:23 znów to samo
- 2:18 tu coś z samochodu przeszło na wylot
- 2:26 znów nieprawidłowe dachowanie
- 3:09 maska się nieznacznie przenika z rogiem ściany, a wszystkie szyby są cały czas całe!
- 3:20 ten skok jest bardzo ładny! Problem jedynie w tym, że w 3:23 powinien zarysować podłoże zderzakiem i innymi elementami...
- 3:26 tu spora część (dolnej, przedniej części) maski przenika się z podłożem - w zwolnieniu to bardzo dobrze widać, pod względem fizyki się tak "czepia" podłoża;)
- 3:35 oba tylne koła przenikają się z przeszkodą, ale przynajmniej fajnie sprężynowały;)

Jest jeszcze cała masa różnych innych uproszczeń, ale i tak bardzo mi się podoba bo to jest wreszcie liczone w czasie rzeczywistym !;) Dlatego dla Twórców CryEngine 3 należą się zasłużone brawa!;)

niedziela, 20 lutego 2011

Jak chłodzić gorącą... GeForce GTX470 ;)

Jakiś czas temu DAK zamieścił na Benchmark.pl bardzo ciekawy artykuł o tym jak zamocować nowe, lepsze chłodzenie do karty GeForce GTX470. Całość bardzo użyteczna, solidnie opisana i sfotografowana znajduje się w tym miejscu: ZALMAN VF3000F - sposób na gorący GeForce GTX470.

DAK nam się rozwija;) czekamy na więcej!

sobota, 19 lutego 2011

Będzie nowa jakość moich programów ?

Jest to dla mnie bardzo radosna chwila, udało mi się całkowicie zmienić sposób programowania w Action! Myślałem o tym już kilkadziesiąt lat temu, myślałem w ostatnich latach, jednak w ostatnich dniach udało mi się osiągnąć sukces - wszystko jest: jasne, sprawdzone i gotowe do wykorzystania (powstała dodatkowa biblioteka).

Myślałem cały czas o szybkim, bezpiecznym, wygodnym i bezkolizyjnym wykorzystaniu prawdziwego potencjału sprzętu w tym języku. Największym dla mnie problemem była ilość wolnej pamięci, co prawda miejsce zajmowane przez sam kompilator został zmniejszony dwukrotnie dzięki odpowiednim sztuczkom zastosowanym przez autorów, jednak w praktyce było źle. Inni programiści starali się zwykle robić na tyle małe programy aby źródło mieściło się w całości w pamięci. Ja niestety we wszystkich swoich ostatnich programach sięgałem kresu, często (nie licząc stosu itp.) zostawało mi kilkaset bajtów, a internauci mówią, że chcieliby abym do programu dodał to czy tamto, ok mogę dodać, ale ile mnie to będzie kosztowało pracy ? :-/

W momencie uruchomienia gotowego pliku wykonywalnego, zwykle pozbywałem się biblioteki procedur, co oszczędzało mi całe miejsce jakie zajmuje ten język w pamięci (mój runtime library zajmował jedynie ~700 bajtów). To i tak była bardzo komfortowa sytuacja, bo w innych popularnych językach programowania nie jest to możliwe bo np. runtime jest gigantyczny, musi być cały czas w pamięci (i np. nie da się go skrócić itp.), a czasami to nawet jego pokaźna część siedzi schowana pod systemem ROM (sztuczka sprytna, posiadająca dużo zalet, ale w tym momencie też wadę).

Dlatego myślałem nad zupełnie nowym modelem programowania, po pierwsze chciałem osiągnąć całą dostępną pamięć tylko na kod programu, to sprawi że kodowanie będzie dużo wygodniejsze oraz szybciej będzie się wszystko uruchamiać, kompilować itp. (dla mnie bardzo ważne!) Z drugiej strony chciałem osiągnąć przyspieszenie kodu oraz dodatkowe miejsce w pamięci na dane (skoro wszystko pójdzie na sam kod programu).

Zaprojektowałem konkretny model tego co i jak chcę osiągnąć i to tak aby w prosty sposób nie stracić wcześniejszej funkcjonalności systemu operacyjnego, języka programowania itp. Powstało pytanie co na to Action! który niekoniecznie był przygotowywany przez twórców do takich przekręceń do góry nogami całego systemu komputera.

Musiałem napisać kilka procedur, zrobiłem kilka testów, czy wszystko działa tak jak chcę oraz czy sam język lub system operacyjny nie będą mi jakoś utrudniać, życia np. coś się stanie niestabilne itp.

No i mam pełen sukces, wszystko działa jak zaplanowałem, a nawet lepiej;) Moja biblioteka jest bardzo mała, jedynie kilkadziesiąt bajtów (w tej chwili), a osiągnąłem co zamierzyłem (jeszcze napiszę parę toolsów). Teraz mam zupełnie nowy model pamięci i nowy sposób tworzenia programów.
Zastanawiam się czy ktokolwiek coś takiego robił już, bo przecież to bardzo niszowy język programowania.

Od tej pory od samego początku będę tworzył programy w nowy sposób (czyli niestety muszę zrezygnować z moich przyzwyczajeń), jednak efekty powinny być odczuwalne dla mnie od razu (wygoda kodowania) oraz dla użytkowników, bo skoro mam więcej pamięci to wszystkiego powinno być więcej. Odczują to też moi stali współpracownicy, którzy do tej pory słyszeli ode mnie "twórz mało bo pamięci już nie mamy" ;)

Inna sprawa, to fakt tego, że obecnie mam do dyspozycji prawie całą dostępną pamięć RAM (jak w asemblerze) więc od początku programy będzie można projektować w nowy sposób, z większą ilością bajerów oraz przede wszystkim o lepszych parametrach.


Może Ci z Was, którzy nigdy nie programowali tyle co ja to nie do końca zrozumieją moją radość, ale dla mnie to naprawdę epokowe wydarzenie;) a mam też nadzieję, że będzie to odczuwalne dla innych;)


Wracając do tematu tego postu: czy będzie nowa jakość moich programów ? To właśnie Wy w przyszłości ocenicie;)

czwartek, 14 stycznia 2010

FASTRA II - najszybszy pecet świata

DAK podsyła nam ciekawy materiał, z tematyki jaką obaj śledzimy od dawna. FASTRA II to interesujące rozwiązanie naukowców z uniwerku w Antwerpii. Jak napisał DAK chodzi o wysokowydajną maszynę liczącą za grosze. Czyli jak czytamy na tej stronie WWW:
    (...) For just 6000 euros, you can have 12TFLOPS (...)
Za tę sumę zwyczajnego peceta przeistaczamy w prawdziwego smoka wydajności. Jest on wyposażony jedynie w giętkie złącza PCI-ex i specjalnie napisany BIOS obsługujący 13 GPU.


FASTRA II official movie (YT)

Dalej pisze DAK:
    Mnie jednak dziwi fakt, że panowie nie zdecydowali się na rozwiązanie ATi, gdzie tylko dwie dwuprocesorowe karty Radeon hd5970 posiadają zbliżoną moc obliczeniową, a pobierają znacznie mniej prądu (Panowie z Antwerpii wspomnieli, że ich komp jest green, a ja uważam, że nie do końca).

    Przypuszczam, że zdecydowali się na nVIDIĘ tylko i wyłącznie ze względu na ich technologię CUDA (ang. Compute Unified Device Architecture). Dziwne bo ATi wspiera najnowszy DirectCompute 5, a jest on o tyle ciekawszym rozwiązaniem, że może być wykorzystany na każdej konfiguracji wspierającej najnowszy DX11.

Tu jest więcej filmików FASTRA II na YT.


Zagadnienia tzw. GPGPU (en.wiki) to fascynujące zagadnienie, które przesuwa zacofane architektonicznie i przez to powolne pecety w stronę systemów bardzo wydajnych (nieco na wzór architektury dawnych komputerów Atari). Dlatego wcześniej starałem się wspominać o grach, które jako pierwsze wykorzystywały podobne techniki do obliczeń fizyki w czasie rzeczywistym:
    - Havok/euphoria fizyczny engine dla SW
    - 2008 - nowa era gier komputerowych !:) (grudzień 2007)


Update:
Co ciekawe zagadnienie powiązane z tym tematem, mianowicie Nvidia Tesla to jedno z niewielu haseł w polskiej Wikipedii, które jest większe niż na en.wiki ! A nawet ma znacznie większy opis (ma tylko mniejszą tabelkę, ale to akurat jest najprostsze do nadrobienia).

niedziela, 9 sierpnia 2009

AGP wiecznie żywe

DAK przesyła nam informację o nowej karcie graficznej na AGP. Mowa o Radeon HD 4650 / AGP 8x (tu przykładowy opis), który jest bardzo nowoczesną (średnio wydajną) kartą dostępną nawet dla osób posiadających bardzo stare komputery (choć pewnie wymagana będzie zmiana zasilacza - jednak to nie problem ;)

Sedno tematu opiera się o fakt, że czołowi producenci kart graficznych wiele lat temu zapowiadali całkowitą przesiadkę produkcji na PCI Express. Jednak jak się okazuje na szczęście nie jest to prawą i można kupić coś ciekawego na AGP (np. wcześniej DAK podesłał SAPPHIRE ATI Radeon HD 3850 512MB GDDR3 AGP). Dodatkowo podważa to opinie jakoby PCI-E było tak fenomenalne i niezbędne.

Karta jest dostępna na Allegro za około 360 zł i się sprzedaje bardzo dobrze.

Dzięki DAK!

środa, 5 sierpnia 2009

Google Chrome OS – blog !

Yako, który prowadzi kilka blogów tematycznych, od jakiegoś czasu ma nowego bloga „GOOGLE Chrome OS – Nieoficjalny blog systemu operacyjnego”. Jest to pierwszy blog opisujący zagadnienia związane z zapowiadanym nowym, produktem tej firmy (choć jest to dla niej zupełnie nowy rynek).

Sam system zapowiada się ciekawie, jedną z najgłośniejszych kwestii jest szybkie uruchamianie się owego produktu. Geneza zagadnienia sięga lat 90. kiedy na rynku zaczynał dominować Microsoft Windows, który już w wersjach 3.x ładował się do pamięci znacznie dłużej niż systemy konkurencyjne (czyli Atari, Amiga, Apple itp.). Przykładowo mój kolega przeprowadzał wtedy testy i na bardzo szybkim (wtedy) pececie: system windows 3.x uruchamiał się wolniej z dysku twardego, niż jego system z dyskietki (około 800 kb) na Atari Falcon 030 ! :D :D
(a przecież na Windows 3.x niewiele dało się zrobić bo nie było na niego oprogramowania i sam system był nieudolny, dlatego wtedy to była jedynie zabawka dla osób mających kasę na maksymalnie drogiego peceta)

Od tamtego czasu MS Windows z roku na rok stawał się bardziej popularny i coraz wolniejszy, cięższy itp. W pewnym momencie co bardziej spostrzegawczy i myślący użytkownicy zauważyli, że mają już dość czekać jak system się otwiera czy zamyka (proste testy wykazywały, że łatwiej i szybciej jest sięgnąć po książkę telefoniczną czy encyklopedię niż korzystać z peceta). Wielu z użytkowników stwierdziło, że w takim razie wcale nie będą wyłączać komputerów, co i ja często stosuję.

Mamy już nowy wiek i sprawy nie uległy zmianie, wielu użytkowników jest już mocno zniesmaczonych szybkością uruchamiania się MS Windows (choć z przeciętną dystrybucją Linuxa wcale nie jest lepiej) i coraz głośniej słychać opinie typu: wywalę swojego Windowsa, jeśli dasz mi system, który ma: przeglądarkę WWW, Skype, GG i uruchamia się w maksymalnie 3 sekundy !
No i być może się doczekają na Google Chrome OS dostępny z komputerem w każdym sklepie, jednak do tego czasu na YT (od lat) dużą oglądalnością cieszą się filmy prezentujące uruchamianie Linuksa z podobną prędkością. Wspominałem o tym ostatnio w poście pt. Płyta ASUS - autonomiczny SO !, a DAK podesłał kilka wspomnianych filmików.


W mojej ocenie Google znalazło najlepszy możliwy moment na wprowadzenie nowego systemu operacyjnego, z jednej strony firma posiada zaawansowane narzędzia pracy poprzez net (jak ostatnio wspominałem – również z opcją pracy „offline”), z drugiej strony rynek potrzebuje takiego rozwiązania np. na platformy przenośne, gdzie obecnie króluje ośmioletni staruszek XP, który jest zbyt drogi i zbyt ciężki. Inna sprawa, że firma Microsoft jeszcze nigdy nie była tak słaba (w ostatnich kilkunastu latach).


Wiele firm próbowało uszczknąć rynku firmie Microsoft (nawet IBM) i jak dotąd nikomu się to nie udało. Mamy obecnie system firmy Apple oraz Linux (reszta systemów jest śladowa), ciekawe czy firmie Google uda się zmienić bieg historii ? Jednego jesteśmy pewni, ta firma wie jak tego dokonać, bo już to wielokrotnie robiła ;)

Jednak teraz... zapraszam do lektury bloga, a jest co czytać ;)


    (w newsie został zastosowany pewien skrót myślowy: nowy system Google ma być oczywiście oparty na Linuksie jednak opisywałem go jako odrębny produkt, dlatego że użytkownicy oceniają system po interfejsie, a nie po jego jądrze. Dlatego myślę, że na Chrome OS z zupełnie nowym interfejsem (na miarę Google) przeciętny Kowalski będzie patrzył jako na odrębny produkt firmy Google)


Update:
DAK przesyła nam fajny pic do zobrazowania tematu tego postu:

Free Image Hosting at www.ImageShack.us

QuickPost Quickpost this image to Myspace, Digg, Facebook, and others!

Dzięki DAK!


Update: 12 VII 2009:
Właśnie obejrzałem film dokumentalny o historii Billa Gatesa i Microsoftu (pokazany jako niemal historia komputeryzacji ! :-/ ) na kanale Viasat History (film BBC z 2007 roku). W tym materiale odnośnie firmy Google wypowiada się Steve Ballmer, powiedział że to nawet ciekawa firma (to nie jest dokładny cytat jego słów), ale:
    (...) w pewnych sprawach mogą nam nagwizdać ;)
Zapewne miał na myśli wytwarzanie systemów operacyjnych... :D :D

Ten dokument jest tak interesujący (np. obnaża postawy, intencje, osobowości oraz ciekawe fakty itp.), że muszę go nagrać a potem dokładnie cytować i opisać. No ale to następnym razem ;)

sobota, 21 marca 2009

Premiera Microsoft Internet Explorer 8

Jak informuje nas DAK, 19 marca o godzinie 17:00 miała miejsce premiera przeglądarki firmy Microsoft: Internet Explorer 8.

Tu się znajduje strona domowa IE8, jak zapewnia na niej producent, nowy produkt jest teraz „Faster, Easier, Safer”. Jako były użytkownik tej przeglądarki, mogę powiedzieć, że już niejednokrotnie mnie ta firma zapewniała co do podobnych haseł i jakoś nie miało to pokrycia w faktach – co jednak nie znaczy, że tym razem jest tak samo (lub podobnie).
Złośliwie można powiedzieć, że skoro do tej pory przeglądarka była jedną z najwolniejszych i najmniej bezpiecznych to z punktu widzenia programistów – nie trudno jest sprawić aby faktycznie stała się szybsza i bezpieczniejsza. Natomiast na pewno trudniej jest programistom jakiejś najszybszej na rynku przeglądarki sprawić, aby stała się jeszcze szybsza (choć w ostatnim roku miały miejsce optymalizacje wydajności np. Firefoxa itp.).

Dalej można przeczytać: „View sites with ease” (jakaś obsługa starszych stron WWW), „Get things done faster” oraz „Stay more secure”.

Co do nowej funkcjonalności to zupełnie teoretycznie mogę stwierdzić (jako osoba, która jeszcze nie korzystała z najnowszego IE), że na pewno mogło się wiele zmienić. Samo wprowadzenie do IE8 ostatnich zmian z najnowszych konkurencyjnych przeglądarek, będzie stanowiło nową jakość (oraz mam nadzieję nowy poziom bezpieczeństwa - na stronce znajduje się poradnik Security: Learn how Internet Explorer 8 helps keeps you safer online.).


Wszedłem sobie na wspomnianą stronkę z poziomu systemu Linuks i o dziwo zachęcano mnie do ściągnięcia sobie przeglądarki (w wersji PL) – ciekawe na co mi ona ?;):)


Jak DAK będzie miał już jakieś konkrety co do faktycznych możliwości i osiągów IE8, to pewnie się z nami podzieli swoimi obserwacjami;) czekamy !


Update:
Informacje o najnowszej przeglądarce z Wikipedii:
    Ósma wersja Internet Explorera wydana została 19 marca 2009. W wersji tej Microsoft skupił się na zgodności z CSS 2.1 oraz lepszej obsłudze technologii AJAX. W grudniu 2007 roku Microsoft poinformował, że testowa wersja IE8 przechodzi test ACID2. Wśród nowych funkcji należy wymienić możliwość odtworzenia sesji przeglądarki, tryb ścisłej prywatności InPrivate oraz filtr SmartScreen (chroniący przed nieumyślnym zainstalowaniem szkodliwego oprogramowania). Pierwsza beta „ósemki” pojawiła się 5 marca 2008 roku, natomiast 21 lutego 2009 została skompilowana wersja gotowa do wypuszczenia na rynek (RTM) tej przeglądarki, oznaczona jako 8.0.6001.18691.

    Internet Explorer 8 został zaprojektowany w kilku wersjach: dla systemów Windows XP, Windows 2003, Windows Vista, Windows 2008 Server i Windows 7, w każdej 32 i 64 bit. Wersja finalna dostępna jest w 25 językach - w tym w języku polskim.

Nieco więcej informacji jest w odzielnym haśle Internet Explorer 8.


Update 25 III 2009:
W tym newsie sugerowałem, ze przeglądarka Internet Explorer jest dość opóźniona w stosunku do licznej i silnej konkurencji. Przypadkowo odnalazłem zestawienie Wikipedii, w którym jest przeprowadzone porównanie przeglądarek internetowych. Jest też wiele miejsca poświęcone przeglądarce IE, a oto co możemy się dowiedzieć odnośnie wcześniejszych wersji IE (informacje wybrane):

W stosunku do konkurencji wcześniejszym wersjom przeglądarki IE brakuje:
- Sprawdzania pisowni
- Wyszukiwania w wielu wyszukiwarkach
- Wyszukiwania podczas wprowadzania łańcucha
- Filtru reklam
- Nawigacji przy użyciu klawiszy
- Nawigacji kursorem tekstowym
- Gestów
- Syntezy głosowej
- Obsługi głosowej

Brak obsługiwania technologii:
- XHTML
- MathML
- Web Forms 2
- XForms
- RSS
- Atom

Brak obsługi protokołów:
- Email
- NNTP (Usenet)
- IRC
- IDN
- URL

Nieobsługiwane formaty graficzne:
- MNG
- SVG
- PDF

Nie da się ukryć to dość duże braki jak na wiodącą przeglądarkę internetową... warto sobie zadać pytanie w czym jest ona taka wiodąca ?

wtorek, 17 marca 2009

Szybka procedura PLOT

Kilka dni temu informowałem, że na serwisie AtariOnline.pl pojawił się tekst odnośnie moich nieznanych perypetii w Bajtku, tym razem (wczoraj) pojawił się nowy tekst pt. „Szybka procedura PLOT”, który omawia inne stare dzieje. Tym razem jest mowa o współpracy programistycznej ze znanymi polskimi autorami gier oraz programów edukacyjnych w tych najwcześniejszych latach rozwoju informatyki i rynku oprogramowania. Zapraszam !;)


Update:
Wcześniejsze teksty na AtariOnline.pl:

poniedziałek, 16 marca 2009

Wolfenstein 3d na ZX Spectrum

Jeśli ktoś nie wierzy to można się przekonać na własne oczy, że w grę Wolfenstein 3d można zagrać również na ośmiobitowym komputerze ZX Spectrum (z sympatią zwanego potocznie "spectrumną") - tu link na YT:


Okienko z właściwą grą jest niezwykle małe, a grafika właściwie czarno-biała, jednak nie jest źle - na pewno grać się da;)

piątek, 20 lutego 2009

Ponad 2 TFlops w laptopie !

DAK podsyła nam nowinkę technologiczną, z serwisu www.frazpc.pl pt. „Bliski debiut mobilnego Radeona HD 4870 X2”. Tytułowe 2 TFlops to wydajność obliczeniowa podsystemu grafiki. Zapraszam do krótkiej lektury.


Dzięki DAK!:)

czwartek, 12 lutego 2009

Test: nowy dysk HDD vs starszy

DAK podesłał nam pierwszy swój artykuł napisany specjalnie dla nas. Zapraszam do lektury:

Przyszedł czas na wymianę (kolejną w tym roku) części w PC. Padło teraz na twardy dysk. Dlaczego? Jeden z posiadanych zaczął nie działać tak jak powinien. Po wyciągnięciu informacji z biosu HDD (S.M.A.R.T na Wikipedii) moim oczom ukazał się obraz nędzy i rozpaczy: problemy z rozpędzaniem (wielokrotne próby startu – dlatego czasami w BIOS nie zostawał wykrywany za pierwszym razem), co świadczy o nie najlepszym stanie mechaniki. Dodatkowo uszkodzone sektory (w dzisiejszych dyskach nie jest tak jak to jeszcze miało miejsce 10 lat temu, gdy głowica napotkała taki sektor – nasz system operacyjny zatrzymywał się na chwilę, dłużej lub na zawsze (zależy jaki system był, ale nie tylko od tego), dlaczego tak się działo, tak, dobrze myślisz czytelniku, następowała próba odczytania danych z uszkodzonego sektora, która to prawdę mówiąc nie mogła się zakończyć powodzeniem w większości przypadków. Dziś tak nie jest, gdy na naszym HDD pojawią się uszkodzone sektory, firmware (bios) dysku przepisuje ich adresy na sektory nieużywane (dla ciekawości: nasz dysk powiedzmy o pojemności 1GiB wcale nie ma takiej objętości dokładnie, w rzeczywistości jest jej dużo więcej (nawet drugie tyle) – między innymi dlatego nawet z HDD po sformatowaniu można odzyskać jeszcze sporo danych! – jednak to temat bardzo obszerny i nie będę się nim zajmował teraz). Wracając do tematu HDD z uszkodzonymi sektorami może działać jeszcze długo i prawie (głównie zmniejszenie szybkości, czasu dostępu) sprawnie. Dla mnie jednak taki dysk nie ma już wartości i podlega natychmiastowej wymianie celem uratowania danych.

Wybór padł na firmę SEAGATE, której to dyski (szczególnie te 15.000 rpm na SCSI/SAS) bardzo sobie cenię. Kupiłem nowy, aktualnie dostępny w sprzedaży model SEAGATE BARRACUDA 7200.11. Po zainstalowaniu, podzieleniu na partycje, sformatowaniu z odpowiednim rozmiarem bloku, przeniesieniem danych przyszedł czas na krótki teścik. Dla porównania posłużyłem się dyskiem tej samej firmy, ale o połowę mniejszym i starszym o dwie generacje. Oba testowane dyski to SATA II, ale z moją płytą główną komunikują się poprzez SATA I (czyli prędkość jest ścinana do 150 MIB/s). Jako aplikację testującą wykorzystałem HD Tach v.3.1 (link na en.wiki).

Test SEAGATE BARRACUDA 7200.9 (niebieski) oraz 7200.11 (czerwony).
Obie generacje dysków dzieli około trzy i pół roku.

Linia czerwona oznacza nowy HDD, a niebieska starszy. Wynik poważnie mnie zaskoczył (w celu prawidłowego badania wykonany został 5 razy z czego wartości najmniejsze i największe zostały odrzucone, pozostałe zostały uśrednione), dlaczego? Otóż, aby do niedawna uzyskać takie wartości należało zestawić macierz z dwóch dysków twardych. Właściwie, to myślałem, że w erze dysków SSD (wkraczającej do świata komputerów wielkimi krokami), z dyskami mechaniczno-elektronicznymi nic już się nie robi, aby poprawić ich osiągi. Sytuacja nie jest jak widać jeszcze taka zła, a klasyczne podejście do tematu dysków w wielu zastosowaniach okazuje się wciąż lepsze od SSD (więcej o tym innym razem;) ), oznacza to również, że te ostatnie mają jeszcze długą drogę do dogonienia, prześcignięcia i w ostateczności do spopularyzowania.


Dla porównania przedstawiam wyniki testu dysku SEAGATE Cheetach 15.000 rpm na SCSI (Wikipedia). Co ciekawe, mimo że dysk cheetach 15.3 działał REWELACYJNIE (jaki czas dostępu), to ten 320 GiB i tak nie zapewnia tego komfortu, który znam od lat na SCSI:

Test dysku SEAGATE Cheetach SCSI 15.000 rpm

                    DAK
Dzięki DAK !

Od siebie mogę dodać, że wszyscy którzy kiedykolwiek się spotkali z urządzeniami SCSI (np. nagrywarkami płyt itp.), wiedzą że urządzenia te są niezrównane, a komfort pracy wspominają tak jak Ty. Gdy w latach dziewięćdziesiątych kupiłem sobie Atari Falcon 030 (był to jeden z niewielu komputerów domowych, który standardowo był wyposażony w SCSI II) to wtedy wszystkim pokazywałem testy szybkości zwykłego dysku podłączonego przez EIDE oraz dysku Seagate 7200 rpm (czyli ekskluzywnego dysku jak na tamte czasy). Wynik był oczywisty...

Odnośnie dobrych osiągów testowanego dysku, to obecnie wszystkie urządzenia się rozwijają pod względem pojemności oraz szybkości ze względu na upowszechnianie się nowej (w Europie) technologii HD, która stawia zupełnie nowe wymagania. Jest to oczywiście dla nas użytkowników jak najbardziej pożądany kierunek rozwoju ;)


DAK - czekamy na następne artykuły, gdyż wiemy, że interesuje Ciebie wiele fascynujących dziedzin informatyki ;)

sobota, 8 listopada 2008

Ciekawostki w nowym vmware 6.5

DAK podesłał ciekawe info o najnowszej wersji vmware, uruchomionym na 64bitowym Windows. Po przesiadce z wersji 6.0.2 na 6.5, rzuca się w oczy istotne usprawnienie instalacji systemów Windows, Unix i Linuks (ubuntu 32 i 64 bit).

154 FPS 1024x768


Przy instalacji Windows XP 32bit, po podaniu kilku informacji - następuje błyskawiczny proces instalacji systemu (nie ma żadnych dodatkowych pytań itp.). To samo miało miejsce przy instalacji Solarisa 10 64bit, podobno ma to miejsce przy systemach linuks, ale tylko w wybranych dystrybucjach np. Ubuntu.
Pozostaje również możliwość instalacji systemu jak wcześniej czyli krok po kroku.

Rozdzielczość oraz akceleracja 3D DirectX 9.0c


Wg DAK system mocno przyspieszył działanie, co prawda za wcześnie na przeprowadzenie dokładnych testów, ale na oko wzrost wydajności maszyny wirtualnej w niektórych operacjach sięga nawet 100%!



Wprowadzono zgodność z DirectX9 i 3D. W stosunku do DX 9.0c to błędnie działa jedna z funkcji API, więc DAK szacuje że jest to bardziej DX 9.0b niż 9.0c. Widoczna aplikacja osiąga mniej więcej 1/5 wydajności (w stosunku do real) oraz działa to do rozdzielczości 1024x768 (np. widoczne dość pamięciożerne demko HDR).
Jednak biorąc pod uwagę nasze niepowodzenia w ostatnich testach jakie przeprowadzaliśmy (o czym częściowo wspominałem w tym miejscu), to i tak jest to bardzo dużo i chętnie samodzielnie przeprowadzę kilka testów, wydajności i zgodności.



120 FPS w 1024x768


Dzięki za info, jak widać jest to istotny krok w rozwoju i to we właściwym kierunku:)


Update:
DAK przesłał nam dodatkowe ciekawe uwagi - dzięki !:)

Ograniczenia w możliwych do wykorzystania rozdzielczościach wynikają jedynie z małej przestrzeni pamięci VRAM. O ile dany program nie przepełni jej to będzie działał, jeśli nie działa to trzeba mu ustawić mniejszą rozdzielczość, przy której nie będzie potrzebował alokować zbyt dużych obszarów VRAM.
Bez problemu można też korzystać z innych rozdzielczości np. o proporcjach 16:9, a także tych które są niestandardowe.

Demko HDR


Dalej DAK informuje: "Po kilku wygibasach z maszyną i programikiem HDR udało mi się zmniejszyć zapotrzebowanie na pamięć video (na załączonych scr widać jak demko alokuje pamięć vir video (ma jej do dyspozycji tylko 128MB - co również świetnie widać na scr)) w różnych rozdzielczościach i co ciekawe z włączonym AAx4 jeszcze udało mi się w miarę wyrobić zostało jeszcze ponad 20MB (oczywiście w zależności od złożoności obiektu poddawanego obróbce).

Demko HDR w rozdzielczości 1024


Demko HDR w rozdzielczości 1152


Demko HDR w 1024 AA*4


Jak widać np. demko Azure Temple jest bardzo mocno pamięciożerne, gdyż uruchomienie go w 640x480 powoduje praktycznie zużycie pamięci na bufor ramki i tekstury w całości. Każda próba zwiększenia rozdzielczości powoduje wyczerpanie pamięci i przerwanie działania programu.

Demko Azure Temple


Nie ma tu niestety możliwości adresowania dodatkowej pamięci jak ma to miejsce w przypadku AGP czy PCI-expres.

Dowodzi to jednak, że starsze programy i gierki będą świetnie działały w rozdzielczościach wysokich, aż do wyczerpania pamięci na bufor ramki.
Co do zgodności z SM3.0 (dx 9.0c -- to błędy w generowaniu demka Azure Temple mówią wystarczająco dużo).
"


Dzięki DAK!:)

sobota, 11 października 2008

Newsy od DAKa

Ostatnio mam mało czasu i niestety sporo zaległości :( DAK nie próżnuje i cały czas nadsyła różne ciekawe materiały, wiec ze sporym opóźnieniem i zbiorowo zachęcam do zapoznania się z:

1. Z serwisu pclab.pl, tekst pt. "PhysX na Radeonach?!", który omawia ciekawostkę związaną z przeprowadzaniem skomplikowanych obliczeń fizyki w real-time, za pomocą... karty graficznej - co jest niezwykle wydajnym rozwiązaniem (w końcu karta graficzna jest znacznie bardziej wydajnym i skomplikowanym systemem komputerowym niż ten właściwy - czyli sam pecet).

2. Googoth - czyli zapowiedź Google

3. Jak podaje serwis LAKI DVHK od 15 X 2008 rozpocznie się emisja nowego kanału TV o tematyce gry/tech komp.:
    15 października wystartuje nowy polski kanał telewizyjny o grach komputerowych oraz technologii informatycznej o nazwie Gamesat. Wszystkie materiały są produkowane w formacie 16:9. Gamesat nie będzie tylko pokazywać gameplaya, ale promować granie jako kulturalną formę spędzania wolnego czasu, na równi z książką i filmem. Telewizja Gamesat będzie dostępna bezpłatnie z satelity Hot Bird - 13E z transpondera 92 w miejscu Edusat. Przekaz będzie prowadzony po godzinie 22:00 - po zakończeniu emisji Edusat (Hot Bird 7A - 13E, tp. 92 (12,558 GHz, pol. V SR=27500 FEC=3/4), PID V=2631, PID A=2632, PID PCR=2631, SID=9353, PID PMT=2564)

Ciekawe, ciekawe... szczególnie interesuje mnie "(...) promować granie jako kulturalną formę spędzania wolnego czasu, na równi z książką i filmem.", jako osoba, która prowadzi szkolenia z gier komputerowych, prelekcje z historii gier - muszę przyznać, że ten temat jest niedoceniany w Polsce i napewno warto ludziom otwierać oczy - za pomocą wiedzy (nie tylko dotyczy to gier ;) :D). W końcu niewiedzę trzeba atakować wiedzą ;)
Ilu to rodziciom już tłumaczyłem jakie to zalety mają gry... albo traktują gry jako coś prymitywnego, albo jako jakieś zło konieczne z którym nie wygrają... :-/ Jednak po rozmowie ze mną jakby otwierają oczy ;)

W końcu skoro dziecko gra to trzeba wykorzystywać ten fakt i np. 8 latkowi podstawiać gry w oryginalnej wersji językowej! Gdy ostatnio to tłumaczyłem pewnej mamie, która przyszła kupić grę do sklepu kolegi ta odpowiedziała: no ale ja nie mam czasu na to aby mu tę grę tłumaczyć... no tak... :( Niestety lekcje angielskiego w szkole są stratą czasu i mało kto sobie z tego zdaje sprawę...


Dzięki DAK za te wszystkie wieści!:)


Jeśli nie jest zaznaczone inaczej (lub nie jest zaznaczone wcale) zamieszczone ilustracje pochodzą z Wikimedia Commons lub są mojego autorstwa.


Ta strona używa cookies oraz innych technologii Google (i innych firm w specjalnych dodatkach po prawej stronie) w celu prawidłowego działania tej stronki (jej elementów jak np. ankiety, reklamy itp.) oraz zbierania statystyk. Korzystanie z tego bloga powoduje zapisywanie typowych plików na Twoje urządzenie (np. komputer, tablet itp.) o ile w ustawieniach przeglądarki nie zmienisz tego.

W UE się ludziom w głowach przewraca, więc dla świętego spokoju zamieściłem to absurdalne ostrzeżenie...