"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C++: 게임 업계의 속도 집착

C++: 게임 업계의 속도 집착

2024-08-01에 게시됨
검색:486

C   : speed obsession in the game industry

속도가 정말로 필요한 때는 언제인가

C 는 오래 전에 게임과 그래픽 소프트웨어의 표준 언어가 되었습니다. 그리고 실제 이유가 있었습니다. 실시간 그래픽물리학을 사용하여 작업하려면 고성능이 필요했습니다. 형상 처리, 버퍼 관리, 행렬 계산 등 모든 작업에는 시간이 걸립니다.
그러나 고급 논리는 어떻습니까? 게임 메커니즘, 사용자 인터페이스, 스토리지 관리, 네트워크 요청? 안정성과 안전성 속도보다 훨씬 더 요구됩니다.

책임분배

C와 같은 컴파일된 언어로 성능을 요구하는 기능을 구현하고 Python과 같은 동적 언어로 작성된 프로그램에서 이를 호출할 수 있습니다.
그러나 오늘날 우리는 이미 잘 문서화되어 있고 사용하기 쉬운 Python용 라이브러리(pygame, pyopengl, pyassimp, pybullet, numpy)를 보유하고 있습니다. 이 라이브러리는 주로 C/C에서 구현되고 무거운 계산을 위한 기능을 제공합니다. 또는 특히 물리학/그래픽. 우리는 그러한 라이브러리를 스스로 구현할 필요가 결코 없을 수도 있습니다.

C가 유일한 선택인가?

Java 또는 C#과 같은 가비지 수집 언어는 C보다 느리고 실제로 많은 계산 요구 사항을 충족하지 못한다는 것이 일반적으로 인정됩니다. 물론 이는 사실이 아닙니다.
C는 일부 특수한 경우 성능 면에서 Java 또는 C#을 20~30% 능가할 수 있지만 동적 함수 디스패치, 언어 상호 작용, 비동기 작업, 텍스트 또는 추상 컬렉션 관리와 같은 런타임 추상화의 경우 Java와 C#은 C보다 훨씬 높은 효율성을 보여줍니다.
또한 Jython이나 IronPython을 사용하여 Java나 C#으로 동일한 런타임에서 Python 프로그램을 실행할 수도 있습니다. 공유 가비지 수집 메모리, 유형 시스템, C# 또는 Java 라이브러리에 대한 간편한 액세스 등 많은 이점을 제공합니다. Java에서는 Java 클래스 라이브러리에 대한 완전한 액세스 권한을 갖고 이전에 언급한 이점을 공유하는 Clojure 및 Groovy와 같은 멋진 동적 언어가 구현됩니다.

실제로 성능에 영향을 미치는 것은 무엇입니까?

오늘날 개인용 컴퓨터는 15~20년 전보다 훨씬 빠릅니다. 그러나 대부분의 데스크톱 프로그램이나 게임은 예상만큼 빠르게 작동하지 않습니다(아직 대부분 C/C로 구현되어 있음에도 불구하고). 오늘날 우리에게는 언어 속도보다 좋은 알고리즘효과적인 접근 방법이 훨씬 더 필요합니다. Python에서 일정한 복잡성을 갖는 함수는 C에서 선형 복잡성을 갖는 함수보다 더 바람직합니다. Python 코드 15줄로 100개의 나무를 그리는 것이 300줄로 500개의 나무를 그리는 것보다 더 바람직합니다. C 코드입니다.

언어가 아닌 게임에 관심을 가져라

만든 게임이 없다면 어떤 언어를 사용하는지는 별로 중요하지 않죠?
C에서 게임을 만드는 것은 Python이나 Ruby에서 게임을 만드는 것보다 훨씬 더 힘들고 지치게 합니다. C1개의 게임을 만들면 Python으로 10개의 게임을 만들게 됩니다. Python으로 5개의 게임을 만들면 C로는 0개의 게임이 됩니다.
게임과 재미에만 신경쓰자면, 그렇지 않으면 무슨 의미가 있을까요?

릴리스 선언문 이 글은 https://dev.to/taqmuraz/speed-obsession-in-the-game-industry-1p4i?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3