PGR21.com
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다.
통합 규정을 준수해 주십시오. (2015.12.25.)
Date 2020/07/31 11:51:57
Name 스핔스핔
Subject [질문] 게임의 다이렉트x 버전 업글이란?
게임얘기 중에, 최신판은 12인데 다이렉트x9 로 만든건 에바 아니냐 어쩌구 업글되야한다 저쩌구

같은 얘기가 있잖아요?

그런데 다이렉트x에 대해 나무위키 읽어봐도 좀 어려운 내용이라 저는 이해가 잘 안되는데,,

게임에 잇어서 다이렉트 x 는 어떤 역할 기능을 하는건지

9버전으로 만든걸 최신 12 버전으로 업글할려면 어떻게 얼마나 어려운건지 쉽게 설명해주실수 있나용

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
초선비
20/07/31 11:58
수정 아이콘
제가 아는 바라 틀릴수도 있습니다.
다이렉트 자체는 그냥 게임을 만들기 위한 도구 또는 재료라고 생각하시면 편할거 같네요.

게임을 집으로 비유하자면 기껏 나무(다이렉트9) 로 집을 완성했더니
최신 기술을 쓰기 위해서는 시멘트(다이렉트 12)로 집을 새로 지으라는 수준일까요?

어느정도 재활용하는 부분도 있겠지만..
익숙하던 재료를 버리고 새로 배우고 하려다보니 어렵다는소리를 하는거 같네요.
스핔스핔
20/07/31 12:06
수정 아이콘
저는 좀더 구체적으로 알고싶긴 합니다..
게임을 만드는 도구는 게임 엔진과 프로그래밍언어도 잇을텐데 어떤 차이가 잇는건지..
하루빨리
20/07/31 12:25
수정 아이콘
(수정됨) 개발자가 프로그래밍 언어나 게임 엔진을 이용해 개발 할때 도와주는 모듈 같은거라 이해하시면 됩니다. 개발자 언어로 라이브러리라고 하죠.

윈도우라는 OS가 그래픽카드를 인식하고 활용하기 위해선 드라이브만 깔면 되지만, 그렇다고 개발자 입장에서 그래픽 카드를 활용하기란 쉽지 않죠. 제로 베이스에서 코딩하려면 그래픽 카드안에 있는 칩셋에 접근 권한부터 시작해 명령어 셋을 기계어 혹은 어셈블리어 단으로 알고 있어야 하고 메모리 관리도 해야 하고 뭐 하여튼 복잡한데, 이런 개발을 도와주기 위해 존재하는 모듈이라고 이해하면 됩니다. 개발자는 이제 그래픽 카드를 다루기 위해 다이렉트X가 제공하는 API나 dll파일을 알고 있고 기능만 숙지해서 자신이 쓰는 프로그래밍 언어로 이를 이용하기만 하면 되는겁니다. 좀 더 게임을 위한 개발환경을 갖추고 싶고, 다이렉트X가 뭔데?! 하고 싶음 게임엔진을 이용하면 되는거고요.
스핔스핔
20/07/31 12:31
수정 아이콘
오 대충 알거같습니다. 그럼 다이렉트x 버전이 높으면 좀더 복잡한 최신의 그래픽카드 기능을 쉽게 사용할수잇게되어서 그래픽 질이 올라간다고 이해하면 되나요? 그리고 마지막 문장은 게임엔진이 다이렉트의 상위호환인것처럼 들리는데, 게임엔진쓰면 다이렉트x는 안써도되는건가요?게임엔진안에 이미 포함되어잇단건지?
하루빨리
20/07/31 12:36
수정 아이콘
맞습니다. 버전이 높으면 복잡한 기능을 가진 명령 셋이 추가 되고 좀 더 최신의 그래픽 카드 성능을 끌어 낼 수 있는거죠. 반대로 말하면 그만큼 사양또한 높아지는거고요.

그리고 이 다이렉트X를 이용하기 편하게 만든게 게임엔진이란 거라 이해하심 됩니다. 간단하게 설명하자면 그렇죠.
스핔스핔
20/07/31 12:38
수정 아이콘
감사합니당
포도사과
20/07/31 13:18
수정 아이콘
제가 아는 것만 말씀드리면 아래와 같습니다.

DX 는 그래픽카드 제어에 필요한 저수준 라이브러리입니다.
버전이 올라감에 따라서 기능 항목이 추가되는 것 뿐만 아니라 기존 렌더링 파이프 라인(화면 출력에 필요한 일련의 모든 과정)이 수정되거나, 추가로 손댈 수 있는 구간이 생깁니다.

DX 버전이 9에서 12로 올라가게 되면서(정확히는 DX11도 있는 등 DX 버전업은 있었지만, 대중화되는 OS 종류에 따라서 사용 가능한 DX 버전이 다릅니다.)
렌더링 파이프라인이 개선되었습니다.

이 내용은 실제로 게임 개발에 중요하기도 하지만 생각 외로 피상적인 개념인 경우가 많습니다.
(실제로 저수준 제어를 하는 인력이 많지 않기 때문에)

이제 지금은 대중적인 게임엔진(Unity, Unreal) 이 많이 사용되는 추세이기 때문에
DX 버전업에 대응하는 것이 상대적으로 쉬워졌습니다.
(엔진 업데이트만 기다리면 되니까)

그런데, DX 9시절은 얘기가 좀 다릅니다.
DX 9 시절은 상용엔진(unreal)과 자체 개발 엔진 혹은 개조된 엔진(게임브리오 기반 엔진류, unreal 부수적 수정버전등)가 뒤섞여있었습니다.
이 경우 엔진 내부의 렌더링 파이프라인을 수정을 개발사에서 직접해야하는 경우가 많았고
DX 12에서 추가된 부분을 적극적으로 사용할 수 있게 엔진 내부 곳곳에 수정을 가해줘야합니다.

위 과정에서 많은 부수적 문제가 나오고요(쉐이더 관련 코드 변경, 최적화 문제 발생, GUI 툴 업그레이드 등)

또한 엔진이 새로운 기능을 제공하니 이 이후에는 실제 콘텐츠 개발에 참여하는 인원들이
이 기능을 사용할 수 있게 적응하고 공부하는 기간이 또 필요합니다.
(DX 를 공부하는 것과 만들어진 엔진에서 새로운 기능을 사용하는 것은 매우 큰 차이가 납니다)

심지어 저 과정이 다 진행되어도, 게임이 안전하게 잘 돌아간다라는 보장이 어렵습니다
(게임이 튕기거나, 메모리를 계속 먹는다거나 등의 문제)


따라서 개발사 입장에서 보면 당장 서비스가 망할게 아니라면 너무 시간/비용/리스크가 크니 꺼리게 되고,
개발자 입장에서 보면 새로운 기능을 연구하는 것은 좋아하더라도 이미 만들고 있는것,
만들어져있는 것에 적용하는 것은 굉장히 보수적으로 대응 할 수 밖에 없습니다.
스핔스핔
20/07/31 13:24
수정 아이콘
답변 감사합니다! 그런데 9 이후로도 10 11 12가 잇는데 로아 같은 겜 개발될 시절 (대략 2010 초반일라나요?) 때는 9가 대세엿나요?
9시절만 좀 특별하다니까 10만 되었어도 좋았을걸 하는 아쉬움이 많네요. 뭔가 지금까지 온라인겜들 보면서 10 이상이라고 하는겜을 거의 못본거 같은데 10이 엄청 늦게나왓나..
포도사과
20/07/31 13:34
수정 아이콘
(수정됨) XP 뒤에 vista가 망하고... windows7이 자리를 잡을때까지 시간이 엄청 길어져서요. 개발사 입장에선
XP+7을 고려해야하니 무조건 DX 9가 이득이었습니다.

+ 게임엔진이 지금 처럼 막 대중화된게 오래안되었고, 그전까진 unreal/게임브리오등을 뼈대로 두고 커스텀하는게 대세인거로 알고있습니다.
스핔스핔
20/07/31 13:42
수정 아이콘
역시 9가 태반인 이유가 잇긴 잇엇군요..ㅠㅠ
포도사과
20/07/31 13:37
수정 아이콘
그리고 개발기간이 긴 게임의 경우 대부분 엔진이나 기술적 발전 때문에 재작업하느라 늦어지는게 아니라
시장 상황이나 기획의도의 큰 변경등으로 게임의 기본 틀부터 고치는 경우가 많습니다.
(작업 덩어리가 크기 때문에 별도의 엔진팀이 존재하지 않는한 엔진 개선의 여지가 별로없음)
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
147171 [질문] 블루투스 마이크 구매관련질문드려요 인생은진리4082 20/07/31 4082
147170 [질문] 해킹으로 이게가능한일인가요 [5] 두두5423 20/07/31 5423
147169 [질문] 우리나라가 롤모델로 삼거나 참고할 수 있는 다른 나라 주택정책이 있나요? [1] SaiNT4198 20/07/31 4198
147168 [질문] 가디언테일즈 리세 졸업하면되나요? [7] 롯토4490 20/07/31 4490
147167 [질문] 노트10, 전산이력 제품 괜찮을까요? [4] 사이시옷5908 20/07/31 5908
147166 [질문] 요즘 엑셀 2010버전은 어떻게 구하나요? [5] 야경4708 20/07/31 4708
147165 [질문] [레고] 레고 닌텐도 발매 시간 질문입니다. [5] 아침5671 20/07/31 5671
147164 [질문] 삼척에 조개구이용 조개 파는 곳 있나요? [4] 이디어트5846 20/07/31 5846
147163 [질문] 게임의 다이렉트x 버전 업글이란? [11] 스핔스핔4643 20/07/31 4643
147162 [질문] 가테 마일리지 교환질문 [3] 레드로키4057 20/07/31 4057
147161 [질문] 롤 아프리카팀 경기에서 스피릿 [3] Rays5483 20/07/31 5483
147160 [질문] 가디언 테일즈 진로 질문드립니다. [2] 사이좋게지내야지4305 20/07/31 4305
147159 [질문] 롤알못 입니다. 롤같은 모바일게임 뭐가 제일 괜찮나요 [3] Secundo4332 20/07/31 4332
147158 [질문] 가테가테 픽업 망했어요 [3] LeNTE4551 20/07/31 4551
147156 [질문] 5살 딸을 위한 닌텐도 스위치 게임 추천 부탁드립니다 [20] Unikys12765 20/07/31 12765
147155 [질문] 컴퓨터를 켜고 5~6분쯤 후에 소리가 납니다. (해결함) [1] 고란고란4666 20/07/31 4666
147153 [질문] 디퓨저를 쏟았습니다.. 리오3999 20/07/31 3999
147152 [질문] 부동산마다 똑같은 매물이 가격이 다를수가 있나요? [10] Demi8191 20/07/31 8191
147151 [질문] 자기소개서 작성 관련 조언 부탁드립니다. [4] 영혼4506 20/07/30 4506
147150 [질문] 요즘 핫한 가테 질문 [6] 인생을사세요제발6050 20/07/30 6050
147149 [질문] 종자골염에 대해 아시는분 계신가요?? [1] 동싱수싱3691 20/07/30 3691
147148 [질문] 해외 이동 시, 비행기 수화물로 데스크탑 본체 운반 어떻게? [5] 허니띠14812 20/07/30 14812
147147 [질문] 아버지 퇴직 선물 뭐가 좋을까요? [5] 사이시옷5060 20/07/30 5060
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로