-
Data: 2009-12-02 09:51:49
Temat: [Cross] WinAPI, GDI+
Od: "Wojciech \"Spook\" Sura" <w...@s...medi.com.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Crosspost na pl.comp.lang.delphi i pl.comp.programming
FUT: pl.comp.lang.delphi
Witam!
Piszę wprawdzie w Delphi, ale pytanie dotyczy bardziej WinAPI niż Delphi,
więc sądzę, że i programiści innych języków będa mogli mi pomóc.
Otóż zainteresowałem się ostatnio GDI+, ponieważ chciałbym przyspieszyć
rysowanie komponentów, wykorzystać antyaliasing i możliwość renderowania
bitmap z alphą. Dokumentację MSDNu przeglądnąłem pobieżnie, ale wynika z
niej, że z GDI+ współpracuje się przy pomocy tworzonego na czas pracy
obiektu, zaś podczas jego tworzenia przekazuje mu się uchwyt do DC, na
którym ma rysować.
Czytałem kiedyś na temat DC i MSDN informował, że DC powinno się używać
krótko i zwalniać tak szybko, jak to jest możliwe. Faktycznie, jest to
wartość bardzo ulotna, bo choćby zmiana parenta komponentu (lub dowolnego
parenta wzwyż hierarchii zawierania komponentów), wystarczy żeby DC
przestało być aktualne (przerabiałem to z OpenGLem).
Oznaczałoby to jednak, że DC powinienem pobierać przed każdym pojedynczym
odrysowaniem komponentu... ale z kolei wtedy za każdym razem musiałbym
również tworzyć obiekt GDI+, a ponieważ chcę korzystać z GPGraphics, to do
tego doszedłby jeszcze narzut czasowy związany z konstrukcją klasy
obudowującej funkcje GDI+. Sądzę, że ciągłe konstrukcje i destrukcje
obiektów w znacznym stopniu spowolniłyby operację odrysowywania.
Wydaje mi się jednak, że MS przewidział fakt, częstych zmian DC i istnieje
jakieś proste rozwiązanie tego problemu. Czy ktoś ma pomysł, jak to zrobić?
Pozdrawiam -- Spook.
Następne wpisy z tego wątku
- 02.12.09 10:51 Tomasz Sowa
- 04.12.09 18:41 Mariusz Marszałkowski
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=