2013-03-06 3 views
0

im은 C#과 Opentk을 사용하여 보셀을 렌더링했습니다. 디스플레이 목록을 사용했지만 괜찮 았지만 느려서 VBO로 바뀌 었습니다. 이후 vbo로 렌더링 할 때마다 이상한 소리가 들립니다. 내 컴퓨터 (매우 낮은 볼륨)에서 경고음이 울립니다. 내가 생각하는 gpu에서 소리.Wierd는 vbo로 렌더링 할 때 소리가 나고 울립니다.

  • 표시 목록 또는 직접 통화로 다시 전환 할 때 경고음이 중지됩니다.
+0

그건 thar의 오지가있는 전자입니다. – user1095108

+0

나는 그것이 왜 투표에 부쳐 졌는지 (나에게서 어쨌든 +1) 모르지만 실제로는 유효한 질문입니다. 나 자신도 같은 문제를 겪고있다. 내 노트북은 OpenGL 프로세스를 시작하자마자 소리가 울려 퍼지기 시작한다. 그것은 크게는 아니지만 멈출 수 없기 때문에 매우 성가시다. 나는 FPS를 60으로 제한하는 것이 도움이되지만 소리는 조금 더 낮고 듣기가 더 어렵다고 믿지 않지만 어딘가에 읽는다. 그러나 여전히 거기에있다. 확실한 해결책은 없습니까? –

답변

2

GPU 전원 공급 장치를 안정적으로 유지하기 위해 스위칭 전압 조정기가 열심히 노력하고 있습니다. GPU에 명령을 보낼 때마다 전원 요구 사항이 증가합니다. 즉석 모드를 사용하면 높은 수요와 낮은 수요 간의 듀티 사이클이 낮으므로 전력의 짧은 임펄스는 디커플링 및 필터 커패시터로 충족 될 수 있습니다. 디스플레이 목록은 전원 요구 사항을 유지하여 전압 조정기를 켜고 목록이 완료 될 때까지 "안정적인"고전력을 유지해야합니다.

이제 VBO를 렌더링 할 때 레귤레이터가 작동하는 것을들을 수 있습니다. 즉, GPU 기능의 약 50 %를 사용하며 레귤레이터는 전원 요구 사항간에 지속적으로 변화합니다. 가장 좋은 방법은 단일 glDraw ... 호출로 처리되는 프리미티브 수를 늘리는 것입니다. 지금은 GPU가 다음 glDraw ...가 나오기 전에 드로잉을 마친다. 그래서 당신은 그것을 굶주리고있다.

+0

+1 재미있는 설명. 그러나 프레임 당 이미 1M 삼각형을 표시합니다. GPU가 굶주리는 것이 확실합니까? (Btw, 나는 플랫 쉐이딩을 사용하기 때문에 프래그먼트 쉐이더는 거의 아무 것도 할 수 없다.) –

+0

@PiotrJustyna : 현대 GPU는 같은 궤도에서 모든 쉐이더 스테이지를 실행한다. 또한 처리중인 개별 삼각형 ​​/ 단편은 들리지 않지만 GPU의로드가 변경되는 간헐적 인 간격이 들립니다. 이것은 GPU가 V-Sync를 기다리고 있거나 CPU가 데이터를 처리하거나 데이터를 처리하는 데 따라갈 수 없기 때문에 가능합니다. 또한 프레임 당 1M 개의 삼각형이 그다지 많지 않습니다. 60Hz 프레임 레이트에서는 60M 삼각형 뿐이며, 현대 GPU는 최적으로 활용하면 프레임 당 500M 삼각형을 쉽게 처리 할 수 ​​있습니다. – datenwolf

+0

흥미 롭습니다. "* circuation *"란 무엇을 의미합니까? V-Sync를 사용하거나 사용하지 않는 경우에도 CPU는 끊임없이 변화하는 꼭지점이있는 GPU에 공급되는 메인 루프 만 실행하므로 확실히 유지됩니다. 내가 관찰 한 유일한 것, 사용하는 삼각형이 많을수록 노이즈가 낮아집니다. 주파수가 낮지 만 주파수는 정확히 무엇입니까? –