cpu사용률 관련해서 궁금한 점이 있습니다.

tjdwn0406의 이미지

제가 3D게임 프로그래밍하다가 문득 "이 프로그램은 cpu를 얼마나 차지하나"가 궁금해져서 작업관리자 창 열어서 확인해보니
거의 다른 프로세서들 비슷하게 0~1% 왔다갔다 하더라고요..생각보다 너무 cpu사용을 안해서 왜 이렇게 낮은건지 궁금합니다.

일단 지금 제가 작성한 3D프로그래밍 구조는 기본적인 Window API 메세지루프방식입니다. 메세지가 있으면 특정함수가 실행되고
없으면 계속 Render() 라는 함수가 실행됩니다.(3D게임 작성해 보신분들은 대충 아시겠지만..)
아직은 배우는 수준이라 그냥 캐릭하나 랜더링 하는거긴 한데 그래도 폴리곤 500개 이상은 되는 모델이고 또 animation으로 행렬보간도 계속 되는건데..;
왜 이렇게 낮은지 잘 모르겠습니다.

제가 이거 말고 추가로 실험하나 해본게 있는데 아래 코드는 cpu사용률 50%이상의 압도적인 사용률이 보이더라고요
void main()
{
while(1){}
}
어차피 제가 만든 게임프로그램도 무한루프돌며 계속 Render()함수 호출도하고..수행해야할 코드가 계속 있는거나 다름없는건데..
두개가 뭐가 다른지 모르겠습니다.
제가 알아본 바로는 cpu사용률 측정 메커니즘은 짧은시간간격으로 tick를 보내서 그떄그떄 사용되는 프로세서가 무엇인지 센서하고
그 통계를 비교하는 방식인걸로 알고있는데 그렇다고 해도 위에 궁금증이 해결이 안되서 이렇게 문의드립니다.
뭔가.. 스케쥴링 방식의 차이인가요?

withmelody의 이미지

어떤 툴로 프로그래밍 하시는지 모르겠습니다만,
3D를 하신다니 아마 GPU를 통해 하지 않을까 싶네요.
아니면 특별히 CPU를 사용해서 렌더링을 하시는데 CPU를 사용 안한다는 말씀이신가요?

while 루프는 CPU에서 처리하는게 맞습니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.