Witam
Interesuje mnie kwestia optymalnego wykorzystania pamięci, a także odwołania do dysku przy wczytywaniu grafiki interfejsu do programu.
Mam dwie "metody" ładowania grafiki interfejsu i chciałbym, abyście podpowiedzieli, która jest lepsza w odniesieniu do pierwszego zdania.
**1. Ładowanie __dynamiczne __z biblioteki **
Zaznaczam, że dynamiczne, gdyż każde wywołanie wczytania elementu interfejsu, wczytuje bibliotekę do pamięci i następnie ją zwalnia.
Uważam, że ten sposób jest najlepszy, gdyż:
- cała grafika interfejsu znajduje się w jednym pliku, a to zmniejsza rozproszenie (fragmentację) na dysku.
Z minusów tej metody to:
- ładowanie całej biblioteki do pamięci
- możliwe długie wczytywanie, gdyż najpierw ładowana jest DLLka, potem odczytywany konkretny zasób, a na końcu zwalniana DLLka, a to wywoływane jest wielokrotnie (np.: przy menu reagującym na położenie kursora myszki).
2. Ładowanie z dysku
Każde wywołanie wczytania elementu interfejsu, odwołuje się do konkretnego pliku na dysku. Więc wydaje mi się, że ta metoda jest szybsza i mniej pamięciożerna.
Jednak i tu widzę wady:
- zbyt częste odwołanie do dysku może ograniczyć jego żywotność,
- odczyt z dysku jest jednak o wiele wolniejszy niż z pamięci,
Nie wiem jak w innych programach, ale np.: w Kaspersky, czy AQQ, grafika ładowana jest prawdopodobnie przez metodę 2. W folderach tych programów, znajduje się podfolder z "setkami" plików (grafiką). Podejrzewam więc, że skoro ta metoda jest stosowana w takich aplikacjach, musi być najlepsza.
Co o tym sądzicie ?