Ngành công nghi?p gi?i trí ?i?n t? s? không th? ??t ???c nh?ng chu?n m?c nh? ngày nay n?u nh? không có s? hi?n di?n c?a nh?ng b? x? lý ?? h?a (Graphics Processing Unit). K? t? khi Nvidia gi?i thi?u “GPU” ??u tiên - GeForce 256 vào n?m 1999, ch? trong vòng 18 n?m, ngành công nghi?p Game ?ã phát tri?n vô cùng chóng m?t. S? ti?n hóa không ng?ng c?a các thi?t b? ph?n c?ng máy tính ?ã góp ph?n bi?n PC tr? thành công c? ch?i game s? m?t th? gi?i hi?n nay. Ông vua GTX 1080 Ti v?a trình làng Q1 n?m 2017 có kh? n?ng kh? r?ng c?a lên ??n 2915% so v?i m?t card ?? h?a Nvidia ra m?t cách ?ây 10 n?m – GeForce 8600 GT.
![]() |
| DOOM (1996) và DOOM (2016) t?o ra nh?ng chu?n m?c v? ?? h?a trong làng gi?i trí ?i?n t?. |
V?y ?i?u gì ?ã làm cho ngành công nghi?p ?? h?a phát tri?n m?nh m? ??n v?y?
Vào nh?ng n?m 1970, th?i ?i?m máy tính cá nhân v?n còn là m?t cái gì ?ó khá xa v?i, gi?i tr? n??c M? th??ng tìm ??n nh?ng trung tâm gi?i trí có bày nh?ng chi?c máy Arcade (máy ch?i game b? xu) ?? th? giãn ??u óc. M?i chi?c máy Arcade là m?t t?a Game khác nhau, và càng nhi?u máy Arcade t?c là s? trò ch?i càng phong phú. Ph?i làm sao ?? h? có th? bán ???c nhi?u máy Arcade?.
?i?u làm ?au ??u các nhà phát tri?n trò ch?i là vi?c s? d?ng RAM làm b? ??m cho Frame vào th?i ?i?m ?ó còn khá ??t ??, khi?n cho giá thành máy b? ??y cao, và giá cao có ngh?a là ng??i mua – nh?ng ch? khu trung tâm gi?i trí, không th? l?y ???c nhi?u máy v? ?? thu hút thêm khách hàng. Vi?c ch? t?o và ?em vào máy Arcade m?t “video chip” có kh? n?ng x? lý ???c hình ?nh ?? xu?t ra màn hình, giá thành ph?i ch?ng h?n là ?i?u các ông l?n ngành trò ch?i ?i?n t? vô cùng quan tâm.
|
| T?a game huy?n tho?i Space Invaders (1978) trên h? máy Arcade |
Fujitsu là hãng ??u tiên ??a ra b? chuy?n video MB1424 giúp t?ng t?c th?i gian v? hình trong Game, MB1424 c?ng h? tr? màn hình h? màu RGB và b?t ??u ???c ??a vào s? d?ng trong các máy b? xu t? n?m 1975 ??n 1978.
Các ông l?n nh? Atari, NEC, Commodore c?ng b?t ??u phát tri?n nh?ng Video chip t?ng t?c v? hình t??ng t? nh? Fujitsu, ??t ti?n ?? cho vi?c phát tri?n nh?ng Video chip có giá thành r? - hi?u n?ng cao cho các máy ch?i Game Arcade và máy ?i?n t? Console sau này.
Th?i ?i?m nh?ng n?m 1990 ?ánh d?u cho th?i k? vàng c?a nh?ng h? máy PC , s? xu?t hi?n c?a Graphics User Interface (giao di?n ng??i dùng) có ngh?a là h?u nh? t?t c? các thi?t b? máy tính có màn hình t?i th?i ?i?m n?m 1995 ??u ???c tích h?p Video chip 2D ? trong.
Microsoft trong th?i ?i?m này c?ng b?t ??u phát tri?n nh?ng b? th? vi?n ?? h?a ??u tiên cho các l?p trình viên, ví d? nh? WinG graphics library cho phiên b?n Windows 3.x hay sau này là DirectDraw trên Windows 95 . Nhu c?u ch?i nh?ng t?a game 3D th?i gian th?c trên nh?ng máy b? xu và máy ?i?n t? c?m tay ? nh?ng n?m 1990 phát tri?n r?t m?nh, ông l?n Microsoft ?ã nhanh chóng nh?n ra ?i?u này và b?t ??u ph?i h?p v?i các hãng s?n xu?t ph?n c?ng ?? ??a ra DirectX (m?t d?ng th? vi?n h? tr? các tác v? ?? h?a) và trang b? trên các phiên b?n h? ?i?u hành sau này c?a hãng, ??a PC tr? thành n?n t?ng s? m?t cho các nhà phát tri?n ph?n m?m Game.
|
| Half life “Ma” (1998) Trò ch?i gây nghi?n bao th? h? 9x |
Nvidia vào n?m 2000 ?ã trình làng chi?c card ?? h?a GeForce 3, là s?n ph?m ??u tiên cho phép các nhà phát tri?n “l?p trình ?? bóng” (Shading), h? tr? kh? r?ng c?a MSAA. GeForce 3 ???c trang b? 57 tri?u bóng bán d?n, và có kh? n?ng v? ???c h?n 100 tri?u hình kh?i trong vòng 1 giây. Và ch? 2 n?m sau ?ó, ATI c?ng trình làng card ?? h?a Radeon 9700, GPU ??u tiên h? tr? t?ng t?c các ?ng d?ng Direct3D 9.0, các Pixels và các ??nh Shaders nay có th? ???c t?o l?i b?i các vòng l?p trong ch??ng trình, và có th? gi?i quy?t ???c các thu?t toán s? d?ng s? th?c d?u ph?y ??ng nhanh h?n.
![]() |
| Card ?? h?a Winfast GeForce 3 Ti 200 |
V?y t?i sao chúng ta không ch? t?o m?t chi?c máy tính có GPU th?t m?nh ?? x? lý ?? h?a mà không c?n s? can thi?p c?a CPU?
Vi?c t?n t?i m?t chi?c máy tính ch? có b? x? lý CPU hay ch? có b? x? lý ?? h?a GPU d??ng nh? là không th? ? th?i ?i?m hi?n t?i, vì m?i vi x? lý ??u ???c thi?t k? ?? ph?c v? m?t công vi?c khác nhau.
CPU ???c ch? t?o có m?t b? nh? Cache l?n ?? gi?m ?? tr? xu?ng th?p. CPU còn ??m nhi?m vi?c th?c hi?n nh?ng l?nh n?p tr??c m?t cách t? ??ng mà không c?n Driver , vì kh? n?ng ph?n h?i nhanh cho nên trong m?t h? th?ng máy tính CPU ?i?u khi?n tr?c ti?p các thi?t b? ngo?i vi I/O (nh? phím, chu?t,…) và c? GPU. Trong khi ?ó GPU ph?i d?a vào CPU ?? ch?y Kernel c?a chính nó, c?n h? ?i?u hành và m?t Driver t??ng thích, và ph?i nh?n ch? th? t? CPU ch? không th? ho?t ??ng ???c m?t cách ??c l?p.
CPU tuy có ?? tr? th?p nh?ng l??ng thông tin vào ra ít, không phù h?p ?? s? d?ng vào các tính toán tác v? ph?c t?p nh? v? ?? h?a 3D, trong khi GPU ???c thi?t k? ?? x? lý thông tin vào ra nhi?u h?n CPU, vi?c s? d?ng Cache nh? h?n trên GPU t?o kho?ng tr?ng cho các nhà s?n xu?t b? sung thêm r?t nhi?u các ALU ?? ph?c v? cho vi?c x? lý hàng nghìn lu?ng thông tin cùng m?t lúc.
![]() |
| M?t kh?i c?u ???c “?? bóng”, ngoài vi?c v? kh?i c?u, GPU s? ph?i tái t?o l?i ?? sáng t?i c?a ch? th? d?a trên v? trí c?a ngu?n sáng. |
![]() |
| Farcry Primal (2016). |
![]() |
| Farcry 2004. |
M?i m?t Core trong CPU ph?i x? lý m?t ho?c nhi?u thread ph?c t?p, trong khi ?ó thread c?a GPU ??m nhi?m tuy ??n gi?n nh?ng l?i có s? l??ng l?n, nh? mang trong mình nhi?u core x? lý h?n CPU mà GPU có kh? n?ng ??m nhi?m và xu?t ra m?t l??ng l?n thông tin – ?i?u c?n thi?t cho m?t s? tác v? t? ??n gi?n ??n nâng cao nh? xu?t hình ra màn hình máy tính, tính toán s? h?c, nghiên c?u khoa h?c... Nvidia ?ã ??a ra thu?t ng? “Stream Processing”, m?t l??ng l?n d? li?u có th? ???c g?p l?i, s? d?ng cùng m?t ch? th?, và ???c x? lý b?i ph?n c?ng. B?n không c?n ph?i qu?n lý t?ng thread m?t nh? CPU, giúp cho vi?c l?p trình ?a lu?ng v?i s? l??ng lu?ng l?n tr? nên ??n gi?n h?n.
Sau khi nh?n ???c ch? th? t? CPU, GPU s? b?t ??u bi?n nh?ng d? li?u nó nh?n ???c thành hình ?nh ?? hi?n th? trên màn hình máy vi tính. Công ?o?n bi?n nh?ng d? li?u nhà phát tri?n game ??a vào thành hình ?nh ?? hi?n th? ra màn hình ???c g?i là “K?t xu?t ?? h?a”. ? giai ?o?n ??u, GPU s? dùng VRAM làm Frame Buffer, các ??nh c?a hình kh?i ???c ?ánh d?u thông qua các t?a ?? hình h?c, vi?c tìm ra ??nh c?a hình kh?i s? n?m ? ?âu ???c g?i là “Vertex Shader”. Sau ?ó, GPU ti?p t?c tìm ra ph??ng trình ???ng th?ng ?? n?i các ??nh Vertex l?i v?i nhau, t?o thành hình kh?i hoàn ch?nh thông qua quá trình “Geometry Shader”.
![]() |
| GTX 1080Ti ngày nay ???c trang b? lên ??n 3584 CUDA Cores, h?n 12 t? bóng bán d?n, 11GB VRAM chu?n DDR5X t?c ?? cao, và h? tr? công ngh? th?c t? ?o VR |
Rasterizer giúp bi?u di?n các hình kh?i lên trên màn hình b?ng vi?c “tô” các Pixel, có bao nhiêu pixel c?n ph?i s? d?ng. Vi?c tô hình b?ng Pixel n?y sinh v?n ?? là nh?ng ???ng th?ng chéo hay nh?ng ???ng cong l?i r?t khó ?? cho các ô c?a Pixel hi?n th?. Gây nên tình tr?ng “r?ng c?a” th??ng th?y trên các trò ch?i ?i?n t?. Cho nên chúng ta l?i có m?t ph??ng pháp g?i là “Anti-aliased” (Kh? n?ng c?a), m?t s? thu?t toán kh? r?ng c?a nh? SSAA, MSAA, FXAA, CSAA… ??u chung m?c ?ích nh?m thay ??i ?? ??m nh?t c?a các ô Pixel xung quanh chi ti?t ???c tô màu, giúp gi?m ?i ?? thô c?a hình.
![]() |
| CPU “?i?u ki?n” GPU ?? Render khung hình, ta th?y có m?t ?? tr? nh?t ??nh gi?a l?nh g?i và tín hi?u tr? v? gi?a CPU và GPU |
![]() |
![]() |
B??c cu?i cùng s? là Pixel Shader, GPU s? b?t ??u ?? h?a ti?t vào các hình kh?i ???c v? s?n, và tính toán ?? m?nh y?u c?a ánh sáng d?a vào ngu?n sáng, hình dáng c?a kh?i. H?a ti?t (texture) có th? là màu tr?n, vân g?, vân ?á, v?i, các ch?t li?u trong ??i th?t,… ???c l?y m?u v? ?? giúp các hình kh?i hi?n th? trong game có ?? hi?n th?c nh?t có th?. T?ng hình kh?i sau khi tr?i qua quá trình tái t?o s? ???c s?p x?p vào v?i nhau ?? t?o thành 1 khung c?nh ?? h?a gi? l?p, n?i mà các game th? s? ??m chìm vào nh?ng cu?c ch?i không h?i k?t.
|
Ngành công nghi?p game ?ang ngày càng phát tri?n, và trong t??ng lai c?a các nhà phát tri?n game cho PC, bên c?nh v? m?t c?t truy?n, v?n s? l?a ch?n ?? h?a ??p nh? m?t y?u t? then ch?t ?? thu hút gi?i game th? hi?n nay. Chúng ta v?n s? th?y cu?c ?ua c?u hình không h?i k?t, nh?ng game th? c?a chúng ta s? còn ph?i ??u t? nâng c?p chi?c máy bàn ? nhà n?u còn mu?n ti?p t?c ???c tr?i nghi?m nh?ng t?a game m?i nh?t ? thi?t l?p ?? h?a cao.
PC World VN 05/2017
