kategoria: Programy
[#1] WinDrawPatch v1.0
Hej,

Wrzucam przygotowany przeze mnie program, który wprowadza drobną łatkę na funkcję MoveLayer() dzięki której przemieszczanie okienek w systemowych programach po prostu śmiga!

Program jest przeznaczony dla grafiki OCS/ECS/AGA oraz wymaga systemu przynajmniej w wersji 2.0 (V36). Korzysta wyłącznie z systemowych funkcji.

Program ma dołączoną instrukcję. Po uruchomieniu możemy go zatrzymać kombinacją CTRL+C (lub wysłaniem sygnału komendą BREAK).

Znane błędy w bieżącej wersji:
- Proszę nie uruchamiać programu wiele razy równocześnie,
- Okienka typu "Simple Refresh" muszą być na wierzchu, żeby były poprawnie odświeżone.

Do pobrania stąd: https://coreprogramming.pl/Utils/WinPatch.lha

Program przetestowałem z Workbenchem, Photogenicsem, Deluxe Paintem. Okienka działają wyśmienicie!

I to w dowolnej rozdzielczości i głębi barw, w tym trybach Super-VGA pod AGA, co mnie zaskoczyło:

320x256
640x256
640x512

Program jest prosty i skuteczny. W następnej wersji postaram się sprawić by program dało się uruchomić tylko jednokrotnie (Commodity) i by schowane okienka Simple Refresh były odrysowywane prawidłowo.

Miłego używania! W razie problemów proszę o kontakt. Napiszcie, czy program działa u Was prawidłowo oraz wrażenia.
2
[#2] Re: WinDrawPatch v1.0

@Hexmage960, post #1

Wrzuć jakies benchmarki z p96.
1
[#3] Re: WinDrawPatch v1.0

@Hexmage960, post #1

Sprawdzimy OK
[#4] Re: WinDrawPatch v1.0

@_arti, post #2

Mogę wrzucić benchmarki porównawcze z funkcji MoveLayer().

Można by porównać wtedy odwołania z ROM systemu Amiga OS 2.0+ z tymi moimi podzielone na 3 kategorie:
- Simple Refresh,
- Smart Refresh,
- Super BitMap.

Moja funkcja działa jednakowo szybko w tych przypadkach i animacja jest zawsze atrakcyjna. Oryginalna funkcja MoveLayer() działa z różną prędkością i animacja jest zazwyczaj mało atrakcyjna.

Moja funkcja korzysta z BltBitMap() co jest w ROM 2.0+ implementowane na Blitterze i ja tego nie zmieniam.

Co do Picasso96 to ja nie sprawdzałem z jego BltBitMap().

Póki co polecam sprawdzić w praktyce, różnica w przemieszczaniu okienek jest widoczna gołym okiem w stosunku do 2.0, czy 3.1.

Program nie wprowadza łatek na inne funkcje graficzne. Ale ta związana z oknami jest kluczowa i umożliwia wygodne pisanie aplikacji na WB oraz znacznie wygodniejsze korzystanie z innych aplikacji. Zapewniam.
3
[#5] Re: WinDrawPatch v1.0

@Hexmage960, post #4

Wrzuciłem wersję v1.1 programu. Poprawia dwie rzeczy:

- Schowane okienka "Simple Refresh" są odświeżane prawidłowo,
- Zmiana rozmiaru okien jest obsługiwana prawidłowo - bo w rzeczywistości łatam funkcję MoveSizeLayer() i zmianę rozmiaru muszę obsłużyć.

Do pobrania z tego samego linku.

Program może jeszcze nie obsługiwać rozszerzania okien typu "Super BitMap". W razie czego to poprawię, jeszcze nie testowałem z takimi oknami.

Przemieszczane okienka są dla wygody wysuwane na wierzch. Mogę to w razie czego zmienić.

Oprócz funkcji użytkowych przydatnych każdemu posiadaczowi Amigi z OCS/ECS/AGA program ma za zadanie posłużyć również jako środowisko dla moich programów.

Postaram się jeszcze porobić te benchmarki, bo działa to naprawdę fajnie.

Ostatnia aktualizacja: 03.06.2024 23:10:39 przez Hexmage960
3
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem