2013-08-21 1 views
1

즉, 객체 재활용에 대해 읽었습니다. 즉, 완료 한 것은 flixel입니다. 제가 읽고있는 기사는 here입니다.엔티티 구성 요소 모델 프레임 워크에 대해 객체 재활용이 가능합니까?

비슷한 시스템을 엔터티 구성 요소 기반 프레임 워크 인 EntityEngine에 어떻게 통합 할 수 있는지 생각하기 시작했습니다. 필자가 필자가 프레임 속도, CPU/램 사용량 등에 어떤 영향을 미치지 않는 것 같은 방식으로 통합하는 것은 필연적인지 확실하지 않습니다. 이것이 사실과 관련이 있다는 것을 확신합니다. 각 EntityHashSet<Component>입니다.

flixel이 개체 재활용을 처리하는 방법은 각 개체에 디자인에 따라 개체가 정의한 필드 집합이 있다는 것입니다. 오브젝트가 "소멸"되면 기본 배열에서 제거되지 않고 유지되고 토글 링되어 프레임 워크가 해당 오브젝트를 겹쳐 쓸 수 있고 더 이상 업데이트 및 그려지지 않아야 함을 알립니다. 그러나, 나는 계승 된 콜렉션이 여기서 문제가 될 것이라고 확신한다.

문제는 프레임 율/CPU 사용률을 높이기 위해 객체 재활용을 사용할 수 있습니까, 아니면 운이 좋지 않습니까?

편집 : XNA 4 새로 고침과 함께 .Net 4를 사용하고 있습니다.

+0

어떤 프레임 워크를 사용하고 있습니까? 일반 또는 XNA? –

+0

@Henk XNA, 나는 중요하지 않다고 생각했다. 그러나 나는 그것을 언급해야했다. 나는 정보를 반영하도록 질문을 편집 할 것이다. – redcodefinal

+0

큰 문제입니다. XNA는 regarsds와 메모리가 매우 다릅니다. –

답변

0

가비지 수집기에 문제가있는 경우 엔티티/구성 요소 재활용은 프레임 속도/CPU 사용에만 영향을줍니다.

가비지 수집기가 참조되지 않은 개체를 회수 할 때 프레임 속도가 저하되면 풀에서 참조 된 개체를 유지하고 다시 사용하여 가비지 수집기가 너무 자주 시작되고 작업 부하가 적게 발생하지 않도록합니다.