Najlepsze pytania
Chronologia
Czat
Perspektywa
WinG
interfejs programowania aplikacji (API) dla systemów Windows 3.x Z Wikipedii, wolnej encyklopedii
Remove ads
WinG (wymawiane jako Win Gee) – interfejs programowania aplikacji zaprojektowany z myślą o wydajniejszej obsłudze grafiki w środowisku operacyjnym Windows 3.x. Choć początkowo przedstawiany jako forma ułatwienia portowania DOS-owych gier do systemów Microsoft Windows[1], został szybko zaniechany na rzecz DirectX.
Przegląd
Podsumowanie
Perspektywa
WinG naprawiał dwa problemy. Pierwszym z nich był brak możliwości tworzenia w Windows 3.x Kontekstów Urządzeń (ang. Device Contexts, DC) bazujących na bitmapach niezależnych od urządzeń (ang. device-independent bitmap, DIB), tylko na podstawie rzeczywistych urządzeń do wyświetlania grafiki. Głównym ograniczeniem DC związanych z komponentem Graphics Device Interface (GDI) była wyłącznie możliwość zapisu. Dane, raz zapisane, nie mogły zostać w żaden sposób pobrane. Drugi problem stanowiło to, że rysowanie GDI było implementowane w sterownikach do kart graficznych dla Windows 3.x, co zawierało także rysowanie bitmap. Wydajność procedur rysowania obiektów nie była jednolita i różniła się między sterownikami.
W wywiadzie w 2000 roku Alex St. John, jeden z twórców DirectX, stwierdził:
WinG stanowił technologię powstałą przez Chrisa Heckera w grupie badawczej i w tym czasie był jednym z małych projektów Microsoft Skunkworks, dyskretnym i dziwnym. Zasadniczo było to naprawianie zepsutych sterowników Windows by działały szybciej i w stopniu bardziej akceptowalnym. Używając go byliśmy w stanie stworzyć API wideo pozwalające na działanie DOOM-a pod Windowsem prawie tak szybkie jak w DOS-ie.
WinG was a technology being built by Chris Hecker in the research group, and at the time it was one of the small Microsoft Skunkworks projects, very low profile and off-the-wall. Basically it was fixing broken Windows drivers to make them run faster and more acceptably. Using it, we were actually able to create a video API that could run DOOM almost as fast under Windows as it did in DOS.
— [2]
Microsoft zapowiedział WinG na Game Developers Conference w 1994 roku, demonstrując jego możliwości z portem Dooma opracowanym przez id Software[3]. WinG wydano 21 września 1994 roku[4]. Pomimo bycia interesującym, fundamentalną podstawą WinG było wciąż rysowanie bitmap w pamięci i przesyłanie wyjściowe klatek po zakończeniu rysowania. Doprowadziło to do porzucenia tego komponentu i opracowania DirectX. Jednakże systemy Windows NT 3.5 oraz Windows 95 wprowadziły CreateDIBSection celem wprowadzenia wsparcia do tworzenia DC bazujących na DIB, a sterowniki graficzne uległy ulepszeniu.
Remove ads
Implementacja
Podsumowanie
Perspektywa
WinG wprowadził nowy rodzaj DC, nazywany WinGDC[5], pozwalający programistom na bezpośredni zapis i odczyt, wykorzystując DIB ze sterownikiem wingdib.drv. Faktycznie dało to programistom możliwość robienia pod Windowsem tego, co robili przez lata bez ograniczeń w dostępie do urządzeń w DOS-ie. Mogli zapisywać DIB do WinGDC i wciąż mieć dostęp do pojedynczych bitów danych obrazu. Oznaczało to możliwość tworzenia algorytmów do szybkiego przewijania, rysowania obiektów na wierzchu innych, „brudnych” prostokątów, podwójnego buforowania oraz innych technik animacji. WinG dostarczał również dużo lepszą wydajność podczas blitowania danych graficznych do pamięci fizycznego urządzenia graficznego. Ponieważ WinG używał formatu DIB, istniała możliwość mieszania oryginalnych odwołań API GDI i odwołań WinG[5].
WinG wykonywał także test profilowania sprzętu/sterownika graficznego przy pierwszym uruchomieniu danego programu w celu określenia najlepszego sposobu rysowania DIB. Test ten wyświetlał okno dialogowe pełne czerwonych krzywych linii, których fragmenty poruszały się podczas trwania testu wydajności[a]. W momencie gdy WinG określił najszybsze odwołania nie powodujące zniekształcenia grafiki, następowało zapisanie profilu bez potrzeby powtórnego wykonywania testu.
Remove ads
Wsparcie techniczne
Gotowe wsparcie dla WinG (tj. jako oddzielne API do Win32) zostało usunięte w systemie Windows 98 Wydanie drugie (który posiadał zintegrowany DirectX 6), ponieważ nie robiło ono nic oprócz przekazywania interfejsów API Win32, dla których było wrapperem (w tym CreateDIBSection). Do niektórych aplikacji czasami dołączano biblioteki DLL WinG. W takim przypadku wystarczyło po prostu skopiować pliki wing.dll, wing32.dll, wingde.dll, wingdib.drv oraz wingpal.wnd do folderów system32 (dla 32-bitowych wersji Windows) lub SysWOW64 (dla 64-bitowych wersji Windows) aby przywrócić obsługę składnika przez system.
Lista aplikacji korzystających z API WinG
- Adobe Photoshop 3.0 (1994)
- Adobe Photoshop 4.0 (1997)
- Alone in the Dark: Ghosts in Town (1996)
- Bad Toys 3D (1995)
- CivNet (1995)
- Comix Zone (1995)
- Dark Seed II (1995)
- Doom (1995)
- Disney's Animated Storybook: The Lion King (1994)
- Dust: A Tale of the Wired West (1995)
- Fury3 (1995)
- Garfield: Caught in the Act (1996)
- Grant, Lee, Sherman: Civil War Generals 2 (1997)
- Heroes of Might and Magic II (1996)
- Industry Giant (1997)
- Maui Mallard in Cold Shadow (1996)
- Microsoft Bob (1995)
- Microsoft Oceans (1995)
- Microsoft Return of Arcade (1996)[6]
- Monopoly (Westwood Studios, 1995)
- Muppets Inside (1996)
- Nitemare 3D (1994)
- Noir: A Shadowy Thriller (1996)
- P.T.O. II (1995)
- The Lion King (1994)
- The Rise & Rule of Ancient Empires (1996)
- This Means War! (1995)
- Sid Meier's Colonization (1995)
- Sid Meier's Civilization II (1996)
- SimCity 2000 (16-bitowy Windows, 1995)
- SimTower (1994)
- Sonic's Schoolhouse (1996)
- Star Wars Screen Entertainment (wygaszacz ekranu, 1994)
- Time Gate: Knight's Chase (1996)
- Titanic: Adventure out of Time (1996)
- Total Distortion (1995)
- Toy Story (1996)
- Warcraft II: Tides of Darkness (edytor map)
- Warhammer: Shadow of the Horned Rat (1995)
- Wishbone Activity Zone (1997)
- Woodruff and the Schnibble of Azimuth (1995)
- Entomorph - Plague of the Darkfall (1995)
Remove ads
Zobacz też
- Windows API
- DOSBox – oprogramowanie pozwalające na emulację aplikacji DOS-owych
Uwagi
- Zobacz zrzut ekranu ukazujący przebieg testu na: Andrew Nile, Microsoft WinG [online], AN. Blog, 23 sierpnia 2018 [dostęp 2025-09-24] (ang.).
Przypisy
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads