저는 C++과 DirectX를 처음 접했고 XNA에서 왔습니다. Fly The Copter과 같은 게임을 개발했습니다. 내가 한 것은 Wall이라는 클래스를 만듭니다. 게임을 실행하는 동안 모든 벽을 그립니다. XNA에서는 ArrayList에 벽을 저장했으며 C++에서는 vector를 사용했습니다. XNA에서 게임은 빠르게 실행되고 C++에서는 느리게 실행됩니다.느린 C++ DirectX 2D 게임
void GameScreen::Update()
{
//Update Walls
int len = walls.size();
for(int i = wallsPassed; i < len; i++)
{
walls.at(i).Update();
if (walls.at(i).pos.x <= -40)
wallsPassed += 2;
}
}
void GameScreen::Draw()
{
//Draw Walls
int len = walls.size();
for(int i = wallsPassed; i < len; i++)
{
if (walls.at(i).pos.x < 1280)
walls.at(i).Draw();
else
break;
}
}
업데이트 방법은 내가 sprite- 전화 그리기 방법> 그리기 (Direct3DXSprite)에서 4 하여 X 값을 감소 : 다음은 C++ 코드입니다. 게임 루프에서 실행되는 유일한 코드입니다. 이 코드가 좋지 않다는 것을 알고 있습니다. 개선 할 생각이 있다면 도움을주십시오. 제 영어에 대해 고마워하고 죄송합니다.
여기 코드는 상당히 똑똑해 보입니다. 문제는 렌더링 파이프 라인 및 최적화 플래그에 가장 많이 놓이게됩니다. – aramadia
나는 당신이 최적화 플래그를 켜지 않았다고 말할 것이다. – AraK
얼마나 느린 지 아는 것이 유용 할 수 있습니다. 우리는 반 속도 또는 규모의 명령을 말하는거야? –