3665
2012-05-05 00:34:09
1
하복엔진이 딱히 생소한건 아니에요...소스엔진에도 물리엔진으로 대대로 하복엔진이 사용되어 왔으니까요.
사실 GPU에서 물리연산이나 기타 컴퓨팅연산을 하는 GPGPU 개념도 알려지기 전이니 하복이 개발되었으니 CPU연산인게 당연했죠.
피직스 또한 처음에는 CPU용으로 개발되었고, 엔비디아에 인수되서 엔당의 CUDA에서 돌아가는 GPGPU지원 엔진이 되었지만 AMD그래픽카드가 설치된 컴에선 여전히 CPU로 연산하고 있습니다.(피직스는 언리얼엔진 기본탑재 물리엔진입니다)
그래서 피직스는 AMD 그래픽카드와 엔비디아 그래픽카드가 설치된 컴에서 성능이 조금씩 다르고, 일부 언리얼엔진 게임같은 경우에는(특히 국내 언리얼사용 온라인게임) 아예 피직스를 CPU연산만 하도록 셋팅하기도 합니다.
그리고 GPGPU이 알려지니 물리엔진이 흔한것 같이 느껴지는데, 전혀 아닙니다.
표준 GPGPU인 openCL같은 경우는 2008년도에 처음 제시되어서 이제야 본궤도에 오르고 있고, 지원하는 그래픽카드는 이전부터 있지만 제성능을 내는건 AMD는 올해나온 7천시리즈가 시작이고, 엔비디아는 CUDA가 있어서 openCL 표준을 업데이트 할 때 CUDA와 유사하게 만들어서 양쪽을 지원하는 방향을 취하고 있습니다.
그래픽솔루션 업체 입장에서는 엔비디아만 써도 되니 CUDA를 사용하여 GPGPU를 지원했지만, 게임업체 입장에서는 사용자가 AMD와 엔비디아 양측으로 갈리니 GPGPU에 관련된 기능은 제한적으로 밖에 적용되고 있지 않았습니다.
아마 GPGPU성능이 크게 향상된 라데온 7천번대 덕에 내년쯤 부터는 범용 GPGPU 게임개발이 가속화되긴 하겠죠.
아무튼 여러 그래픽카드 환경에서 동일한 결과물을 내주기 위해서 GPGPU가 적용된 엔진이 나오기엔 아직 시기상조입니다.
결과적으로 개발 시작이 2008년이라도 막나온 openCL 표준안으로 게임을 개발할만한 업체는 없었고, openCL표준이 나올 당시에 엔비디아가 그래픽카드로 가속을 시연할 때 AMD는 자기네 그래픽카드론 제성능이 안나와서 CPU에 올려서 했을 정도니 양쪽 사용자를 다 고려해야하는 게임업체 입장에선 표준안이 있다고 해도 바로 적용하는건 무리였죠.
결론적으로 대략 2010년 이전에 개발이 시작된 게임에서 GPGPU가 적용된 게임을 바라는 것은 무리라고 생각합니다.
그리고 스타2에서 유닛이 많을때 렉이 걸리는 이유는, 어떤 엔진도 오브젝트가 많으면 렉이 날 수 밖에 없습니다.
CPU 기반이면 말할것도 없으며, GPGPU기반이라 해도 오브젝트가 지나치게 많으면 렉이 나겠죠.
아무튼 기존에 있던 CPU기반 물리엔진의 라이센스를 취득해 적용된 것은 개발사 입장에선 개발에 대한 합리성과, 개방당시 우리 게이머가 어느 그래픽카드를 사용해도 괜찮게끔 하기위한 배려가 다 포함되어 있는겁니다.
GPGPU가 뜨는데 왠 CPU물리엔진이냐고 하면, 위에서 구구절절하게 설명했다시피 이제 뜨는 기술이라 이제 개발이 시작될 게임에나 적용될만한 기술이지 이미 개발중인 게임들에 적용될만한 기술은 아닙니다.
아마 GPGPU가 엔진에 적용되고, 다시 그엔진으로 게임을 만들고 하는 것을 생각하면 생각보다 더 오래걸리지도 모릅니다.
인벤에 글을 남겨야 하는데 출처 링크를 안남겨주셔서 여기 남기고 갑니다,