Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa

Darmowa diagnoza laptopa

Dojazd do klienta bezpłatnie

Dojazd do klienta bezpłatnie

Laptopy zastępcze bezpłatnie

Laptopy zastępcze bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Vulkan wyłącza HDR

Termin Definicja
Vulkan wyłącza HDR

Vulkan wyłączający HDR wskazuje na ograniczone wsparcie tego API dla przestrzeni kolorów HDR w porównaniu do DirectX 12.

Co oznacza komunikat „Vulkan wyłącza HDR”

Hasło „Vulkan wyłącza HDR” opisuje sytuację, w której aplikacja uruchomiona z użyciem API Vulkan przełącza obraz z szerokiego zakresu jasności i rozszerzonej przestrzeni barw HDR do trybu SDR. Nie oznacza to jednak, że sam Vulkan nie obsługuje HDR. Vulkan udostępnia rozszerzenia pozwalające przekazać systemowi informację o przestrzeni kolorów używanej przez obraz prezentowany na ekranie. Przykładem jest VK_EXT_swapchain_colorspace, które rozszerza definicję przestrzeni kolorów dostępnych dla łańcucha wymiany.

Przyczyną wyłączenia HDR jest zwykle brak pełnej implementacji po stronie gry, silnika, sterownika graficznego, warstwy okna albo konfiguracji monitora. Aplikacja może poprawnie wykryć urządzenie Vulkan, ale nie sprawdzić dostępności wymaganej przestrzeni kolorów. Może też utworzyć łańcuch wymiany w przestrzeni SDR, mimo że system operacyjny i monitor są przełączone w tryb HDR. W takim przypadku obraz jest generowany i wyświetlany, lecz wartości jasności oraz koloru są interpretowane według zakresu SDR.

Łańcuch wymiany, przestrzeń kolorów i format obrazu

Prezentacja obrazu w Vulkanie odbywa się przez swapchain, czyli łańcuch obrazów przeznaczonych do kolejnego wyświetlania. Podczas jego tworzenia aplikacja wybiera między innymi format obrazu, tryb kompozycji oraz przestrzeń kolorów. Dla sygnału HDR10 istotne są między innymi przestrzenie VK_COLOR_SPACE_HDR10_ST2084_EXT i formaty umożliwiające przechowywanie większej precyzji kanałów, takie jak VK_FORMAT_A2B10G10R10_UNORM_PACK32. Sama obecność takiego formatu nie gwarantuje HDR, ponieważ konieczne jest również prawidłowe mapowanie tonów i przekazanie metadanych obrazu.

W praktyce aplikacja powinna sprawdzić właściwości powierzchni za pomocą zapytań Vulkan dotyczących obsługiwanych formatów i przestrzeni kolorów. Jeżeli wybrana powierzchnia nie zgłasza przestrzeni HDR, bezpiecznym zachowaniem jest użycie SDR. Problem powstaje wtedy, gdy program traktuje brak jednej konkretnej kombinacji formatu i przestrzeni jako brak HDR, chociaż sprzęt obsługuje inną poprawną kombinację. Znaczenie ma także sposób prezentacji okna: obraz pełnoekranowy, okno bez obramowania i zwykłe okno mogą przechodzić przez różne ścieżki kompozycji systemowej.

Dlaczego obraz może wyglądać jak SDR mimo aktywnego HDR

HDR nie sprowadza się do zaznaczenia przełącznika w ustawieniach systemu. Renderowanie powinno używać odpowiedniego modelu jasności, na przykład kodowania PQ zdefiniowanego przez SMPTE ST 2084, a wartości sceny muszą zostać przekształcone do zakresu właściwego dla wyświetlacza. Jeżeli silnik renderuje obraz w przestrzeni SDR, a następnie przekazuje go do powierzchni HDR bez odpowiedniego przekształcenia, obraz może być wyblakły, zbyt ciemny albo pozbawiony szczegółów w światłach. Odwrotna sytuacja, czyli wysłanie obrazu SDR do powierzchni SDR przy włączonym HDR w systemie, również może dawać mylący efekt.

Trzeba rozróżnić trzy elementy: zdolność monitora do przyjęcia sygnału HDR, aktywny tryb HDR w systemie operacyjnym oraz sposób kodowania bufora prezentowanego przez aplikację Vulkan. Monitor może obsługiwać HDR10, ale aplikacja może nadal korzystać z przestrzeni VK_COLOR_SPACE_SRGB_NONLINEAR_KHR, która jest typowym wyborem dla SDR. Wtedy system nie otrzymuje jednoznacznej informacji, że prezentowany obraz ma być traktowany jako HDR. Czasem problem dotyczy również sterownika lub konkretnej wersji aplikacji, a nie ograniczenia karty graficznej.

Zakres sprawdzenia w komputerze z Vulkanem

Diagnostykę warto rozpocząć od ustalenia, czy problem występuje wyłącznie w jednej aplikacji Vulkan, czy także w innych programach korzystających z tego API. Następnie należy sprawdzić model karty graficznej, wersję sterownika, ustawienia HDR systemu oraz parametry monitora i przewodu. W ustawieniach aplikacji trzeba zweryfikować tryb renderowania, wybór Vulkan, tryb pełnoekranowy lub bezramkowy oraz osobną opcję HDR. Pomocne jest porównanie obrazu po przełączeniu na SDR, ponieważ pozwala ustalić, czy zmienia się tylko jasność i kolorystyka, czy również stabilność renderowania.

W warstwie technicznej należy sprawdzić, czy powierzchnia Vulkan zgłasza rozszerzenie VK_EXT_swapchain_colorspace, jakie formaty i przestrzenie kolorów zwraca oraz jaki wybór faktycznie wykonuje aplikacja podczas tworzenia swapchainu. Jeżeli aplikacja zawsze wybiera przestrzeń sRGB, przyczyną jest najpewniej konfiguracja lub implementacja ścieżki prezentacji HDR. Jeżeli przestrzeń HDR jest dostępna, lecz obraz nadal jest nieprawidłowy, należy przeanalizować transformację tonów, zakres luminancji i przekazywane metadane. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC oraz ich podzespołów, dlatego może przeprowadzić diagnostykę konfiguracji sprzętowej i programowej związanej z takim objawem.