Microsoft pochwalił się efektami współpracy z Adobe, dzięki której wybrane operacje w Photoshopie działają wyraźnie szybciej na komputerach z Windows. Inżynierowie obu firm skupili się nie na samej aplikacji, lecz na sposobie jej kompilowania i właśnie tam znaleźli rezerwy wydajności.
Pokazuje to, że nawet dojrzałe, od lat rozwijane programy wciąż mają sporo do ugrania na poziomie narzędzi deweloperskich, a nie tylko kodu. Photoshop jest "ciężkim" programem napisanym w C++ i kompilowanym na Windows kompilatorem Microsoft Visual C++. Dlatego Microsoft postawił właśnie na MSVC, próbując wycisnąć dodatkową wydajność z jednego z najpopularniejszych programów graficznych na świecie.
Współpraca celowała w operacje mocno obciążające procesor, takie jak responsywność pędzla, rejestrowanie pociągnięć czy otwieranie plików. Wiele złożonych zadań przejmuje dziś karta graficzna, ale te wrażliwe na opóźnienia wciąż zależą od surowej mocy CPU.
Adobe i Microsoft odkryli ukryte rezerwy wydajności Photoshopa
Inżynierowie najpierw włączyli tryb kompilacji „peak-performance" w MSVC, a potem sięgnęli po optymalizację sterowaną profilem (PGO), ta jednak okazała się zbyt kłopotliwa. Rozwiązaniem stała się nowsza metoda SPGO (Sample-based Profile Guided Optimizations), która zamiast danych z „reprezentatywnych" testów wykorzystuje próbki wydajności zbierane sprzętowo z gotowych wersji programu.
Współpraca celowała w operacje mocno obciążające procesor,
Dzięki temu udało się uzyskać wzrost wydajności o 20% na systemach x64 i 13% na Arm. Przyspieszenie dotyczy codziennych, najczęstszych czynności, co powinno być odczuwalne dla wszystkich użytkowników aplikacji.
Microsoft traktuje tę współpracę jako wzorzec i zapowiada promowanie możliwości MSVC w szerszym zakresie. Warto więc obserwować, czy podobne usprawnienia dostaną inne zasobożerne aplikacje.
Spodobało Ci się? Podziel się ze znajomymi!

Pokaż / Dodaj komentarze do:
Photoshop nagle przyspiesza na Windows. O 20% bez wymiany sprzętu