Dlaczego Monosnap stał się tak wolny — i rozwiązanie
To nie’zajmowało tyle czasu. Uruchamianie trwało sekundę. Edytor otwierał się natychmiast. Oto’co się zmieniło, dlaczego ten trend się nie odwróci’i lekka alternatywa, która znów działa szybko.
Podatek Electron, spotęgowany
Monosnap nie’zaczął jako aplikacja Electron. Na początku jego istnienia wiele kodu do przechwytywania i edycji było natywnych. Z czasem komponenty interfejsu użytkownika zostały przebudowane na bazie renderera Chromium — co ułatwiło ich iterację, ale dodało duży, stały koszt uruchamiania.
Electron nie’staje się lżejszy z czasem. Każdego roku Chromium dodaje funkcje, dostarczając więcej kodu, większą bazową pamięć i bardziej skomplikowaną inicjalizację. Aplikacja, która w 2019 roku była akceptowalna przy 60 MB, teraz wymaga minimum 180 MB przy uruchomieniu, a potem rośnie. To’zanim weźmiemy pod uwagę wyciek pamięci, który omówiliśmy na stronie o wycieku pamięci.
Kiedy naciśniesz Ctrl+Alt+5, Monosnap musi rozgrzać renderer Chromium, aby narysować nakładkę przechwytywania. W przypadku zimnej aplikacji, to’to kilkaset milisekund. W przypadku rozgrzanej aplikacji, która już wyciekła do setek megabajtów, to’trwa dłużej. Po pięciu godzinach pracy nakładka rysuje się na tyle wolno, że użytkownicy zauważają różnicę.
Edytor adnotacji jest najgorszym winowajcą
Okno edytora po przechwyceniu to niemal w całości webview Chromium. Kiedy upuścisz strzałkę lub narysujesz prostokąt, narzędzie wysyła zdarzenia przez Electron’granicę IPC do natywnego procesu i z powrotem. Ta podróż w obie strony jest szybka w świeżym procesie i zauważalnie opóźniona, gdy proces jest obciążony.
Dla użytkowników intensywnie korzystających z adnotacji — raporty o błędach, samouczki, dokumentacja — to się sumuje. Dziesięć minut dodawania adnotacji wydaje się dwudziestoma.
Maxisnap: bez Electron, bez obciążeń
Maxisnap’edytor to natywne okno PyQt6. Obszar roboczy adnotacji wykorzystuje QPainter bezpośrednio na QPixmap. Nie ma’webview, żadnej granicy IPC między logiką narzędzia a powierzchnią renderowania. Kiedy upuścisz strzałkę, pojawia się ona w następnym cyklu rysowania. Nie ma podróży w obie strony.
Zimny start z zasobnika do gotowości do przechwytywania trwa około sekundy na typowej maszynie. Przechwytywanie do edytora zajmuje mniej niż 200 ms. Te liczby pozostają takie same po 1, 4, 8 i 72 godzinach. Aplikacja nie’degraduje się z czasem, ponieważ nie ma’nic do akumulacji.
Odzyskaj swoją szybkość
- 1Pobierz instalator. Strona pobierania, 63 MB, za darmo.
- 2Zamknij Monosnap z zasobnika, aby obie aplikacje nie’walczyły o skrót klawiszowy.
- 3Zainstaluj. Ustawienia domyślne są w porządku. Bez ponownego uruchamiania.
- 4Naciśnij Ctrl+Alt+5. Zauważ, że edytor otwiera się, zanim Ty’skończysz puszczać klawisze.
Pytania dotyczące wydajności
Czy mogę przyspieszyć Monosnap bez przełączania?
Marginalnie. Zamykaj aplikację na koniec dnia zamiast trzymać ją uruchomioną. Odznacz „Uruchom zminimalizowany”. Wyłącz wszelkie funkcje synchronizacji w chmurze, których nie’używasz. Żadne z tych działań nie rozwiązuje problemu narzutu strukturalnego, ale nieznacznie pomaga.
Czy Maxisnap’Czy jakość przechwytywania jest taka sama?
Identyczna. Wyjście PNG w pełnej rozdzielczości, bezstratne. JPEG jest również obsługiwany z konfigurowalną jakością. Nie ma’downsamplingu ani zmiany rozmiaru, chyba że dodasz to samodzielnie za pomocą narzędzia do przycinania.
Czy Maxisnap obsługuje przechwytywanie przewijanych obszarów?
Jeszcze nie. Jeśli przechwytywanie przewijanych obszarów jest kluczowe dla Twojego przepływu pracy, ShareX lub Snagit są lepszym wyborem. Do standardowego przechwytywania regionu / pełnego ekranu / okna z adnotacjami, Maxisnap jest szybszy i lżejszy.
Narzędzie do zrzutów ekranu, które pozostaje szybkie.
Bez rozgrzewki. Bez opóźnień. Bez rytualnych restartów.
Pobierz MaxisnapPowiązane: wyciek pamięci · zawieszanie się · czy jest martwy?