2012-04-13 2 views
1

나는 아마추어 프로그래머이므로 나와 함께하시기 바랍니다. 게임 도중 백그라운드에서 실행될 게임용 플러그인 (Windows OS 용)을 작성하려고합니다. 플러그인은 CPU 집약적 인 쓰레드를 생성하고 다른 CPU 코어에서 게임의 실행이 많이 달라질 수 있기 때문에, 플러그인은 특정 제한보다 낮은 부하를 갖는 여러 코어를 가진 PC에서만 실행될 수 있습니다. 각 코어 당 CPU로드를 모니터링하는 방법을 알아 냈지만 여전히 질문이 있습니다. 플러그인이 가장 낮은로드로 코어를 할당하도록 처리해야합니까, 아니면 시스템에서 처리하도록 할 수 있습니까? 첫 번째 솔루션이 게임 성능 향상에 도움이 될까요?CPU 코어 당 스레드 할당 (Windows에만 해당)

+0

_Pretty please_ ** CPU 코어로드, 메모리로드, 스레드로드 ** 등을 수동으로 처리하지 마십시오 ** 그러나 OS에 남겨 두십시오 ** ** - 중요한 - ** 당신이 당신의 겉으로보기에 더 나은 해결책을 내놓을 수 있다면 **. 내가 당신에게 이렇게 행동하도록 요구하는 이유는 다음과 같다 : _ 하나 이상의 프로그램이 이것을하는 경우에 상상해 보라! _ 그들이 시스템의 부하에 따라 행동을 변화시키는 것을 상상해 보라. * CPU 시간을 많이 사용 ** 지속적으로 변화하는 시스템 부하에 적응. 왜 안되는 지 알 겠어? – mg30rg

답변

0

Visual Studio 2010에서 Windows 용 코드를 개발하는 경우 사용할 수있는 동시성 런타임을 살펴 보는 것이 좋습니다. Concurrency Runtime in Visual C++ 2010

해야 가장 낮은 부하를 코어에 스레드를 할당하는 플러그인 핸들 또는 난 시스템이 나를 위해 그것을 처리 할 수 ​​있습니까?

시스템을 올바르게 설계 할 수 있다면 시스템에서 처리하도록 할 수 있습니다. 또한 코드가 런타임에 의해 캡처되고 스폰 된 스레드 수가 코어 수에 비례하므로 코어 수에 따라 코드를 변경할 필요가 없습니다.

+0

(s) 그는 "can"상태가 아니지만 다음과 같은 이유로 ** 이런 종류의 리소스 관리를 기본 시스템에 남겨 두어야합니다. 하나 이상의 프로그램에서이 작업을 수행한다고 상상해보십시오! 그들이 시스템의 부하에 따라 행동을 끊임없이 변화시키고 있으며 끊임없이 변화하는 시스템 부하에 적응하기 위해 많은 CPU 시간을 사용하게 될 것이라고 상상해보십시오. 왜 안되는 지 알 겠어? – mg30rg

관련 문제