@Wojox,
post #1
Bardzo prostej - od Morphosa 2.x zawartość wszystkich okien i ekranów przechowywana jest w pamięci karty graficznej. Dzięki temu wszelkie operacje przesuwania okien, czy troszke bardziej złożone efekty przeźroczystości wykonywane są przez kartę graficzną sprzętowo. Jeżeli otworzysz kilka-kilkanaście dużych okien z dużymi bitmapami (klasycznym przykładem takiego okna jest okno OWB - VRAM zabiera nie tylko to co widzisz aktualnie w oknie, ale jego cała, nieprzewinięta zawartość), to każde zabiera swoje kilka MB, gdy zabierzesz całą wolną pamięć graficzną, to Morphos przerzuca ją do RAM, zwalniając VRAM. W momencie tej operacji następuje "zamyślenie się" maszyny na ułamek sekundy - najlepiej to wychwycić słuchając muzyki puszczonej w tle - słychać "cyknięcie".
Jest to koncepcja bardzo "amigowa" - wszystkie okna i ekrany w oryginalnej Amidze są niezaleźnie obsługiwane, każdy w tym samym czasie zabiera własną przestrzeń w chip ram i jest całkowicie odrysowany, a system wykorzystuje m.in. Coppera do wyświetlenia we właściwej kolejności tego, co być powinno na ekranie. Plusem takiego podejścia jest duża responsywność GUI, można w dowolnym momencie przełączyć ekran, bądź odsłonić zakryte okno i widzieć jego aktualną zawartość, zamiast czekać aż system ją odrysuje (zwłaszcza gdy jest czymś zajęty). Minusem jest duża zasobochłonność - już w klasyku chip ram było zawsze zbyt mało.
Nie wiem jak odbywa się to w MacOS X, skoro jednak taki efekt nie jest obserwowany na maszynach z małą ilością VRAM (jak miniaki), to zapewne system graficzny OSX używa VRAM tylko jako frame buffera.
Można pokazać (jako kontrprezentację), jak szybko pojawia się pod OSx GUI uruchomionego w tle programu, a jak wygląda to pod Morphosem - gdy mamy uruchomione w tle OWB na własnym ekranie :)
Zobaczymy kto będzie szybszy :)
Ostatnia aktualizacja: 16.03.2013 22:45:21 przez wali7