Ana Menü
· Ana Sayfa
· Dosyalar
· Dökümanlar
· Forum
· Günün Resmi
· Haber Arşivi
· WWW Linkleri
· Üye Listesi

     Forumlar

 strncpy ve strncpy_s
 Konu adi : Borland c++ Builder ile Amiral Batti
 Rady10 - YerliOyun
 Kabusta Kaybolmak
 Konsol da programı bekletmek
 Oyun programlama icin hangi programlama dilli ?
 flash! şanlıurfa bilgisayar oyununda(no rapid)
 Sevgilim Olur musun?
 Directx'e başlamak isteyenler bi bakın
 PSP programlama
 Flash tan php
 Bilgisyr oyunu yapmam için üniverstde hangi bölüme girmeliym
 www.arshiv.gen.ms
 Cimg.h ilgilenenler icin
 müttefik oyunu

Konu Disi
 Emraah
 Yeni sitemiz açıldı
 Kalp krizi durumunda ne yapılmalı?
 Oyun sektöründe hangi görevde çalışmak isterdiniz?
 Takım arkadaşı sorunu
 msn de renklı nıck
 pc hata veriyor ! YARDIM!!
 Gülmek isteyenler Buraya
 İnanılmaz hl 2 modu görüntüsü
 Computer Languages History

[ Forumlara Git ]


oyunyapimi.org: Forums

www.oyunyapimi.org :: Başlığı Görüntüle - %100 CPU Kullanimi
 SSSSSS   AramaArama   Kullanıcı GruplarıKullanıcı Grupları   ProfilProfil   LoginLogin 

%100 CPU Kullanimi

 
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar
Önceki başlık :: Sonraki başlık  
Yazar Mesaj
AhmedHan



Kayıt: Jun 01, 2005
Mesajlar: 7

MesajTarih: Tue Sep 27, 2005 2:01 pm    Mesaj konusu: %100 CPU Kullanimi Alıntıyla Cevap Ver

OpenGL ile yazdigim programlar, cok basit olsalar dahi (havada donup duran bi kup gbi), cok asiri CPU gucu harciyorlar. Bu kullanim nasil azaltilabilir?
Win32 API'lerinden SetTimer() fonksiyonu ile timer kullanimi cozum olabilir mi?
Başa dön
Kullanıcı profilini gör
devreci



Kayıt: Mar 04, 2005
Mesajlar: 256

MesajTarih: Tue Sep 27, 2005 4:11 pm    Mesaj konusu: Alıntıyla Cevap Ver

mesaj döngüsünde Getmessage kullanmalısın.
settimer ile zamanı şettirmeyi unutma
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
mentat



Kayıt: Oct 15, 2002
Mesajlar: 528

MesajTarih: Tue Sep 27, 2005 5:32 pm    Mesaj konusu: Alıntıyla Cevap Ver

bu dert GLUT gibi kütüphanelerde de var olan bir dert. win32 ile atlatmanın yolları var (devreci söylemiş sanırım). SDL ya da wxWidgets gibi GUI (grafik arabirim) kütüphanelerini kullanmanı tavsiye ederim. binlerce insan tarafından test edilmiş ve açık kodlu projeler her ikisi de. zamandan kazanır, böyle işlerle de başını ağrıtmazsın..

bir de ekleme yapayım. şu anda küp döndürmek, basit işler yapmakla meşgul olsan da tahminim amacın oyun yapmak. oyun için sana değil %100 mümkünse %200 işlemci yetmez (sen derken, her oyun için aynı şey) proje büyüdükçe. vahşi bir şekilde oyununun yanında çalışmaya uğraşan diğer programları ezmeye onlara cpu'dan cycle koklatmamaya çalışmak lazım. yani ileride bu dert ortadan (kısmen) kalkacak çalışmalarında. yani çok dert etmeyebilirsin. ama fullscreen olmayan, vs bir oyun yapmayı düşünüyorsan bu dediklerim geçerli değil..
Başa dön
Kullanıcı profilini gör
Ragnor



Kayıt: Jan 26, 2003
Mesajlar: 218
Nereden: Bursa

MesajTarih: Tue Sep 27, 2005 6:26 pm    Mesaj konusu: Alıntıyla Cevap Ver

Ya tam ekran çalışacak ve o sırada bilgisayardaki bütün ilgili alacak bir oyunsa cpu'nun %100 çalışması normal ve bırak öyle kalsın ama basit bir masaüstü oyunu yapacaksan yani milletin bir yandan müzik dinleyip, chat yapıp, web'te surf yaptığı bir yandan da oynadığı bir oyun yapacaksan; öyle kalmasın daha iyi olur. Tabii bunları Mentat'da söylemiş ama olsun tekrardan zarar gelmez Smile.
Cpu'nun %100 kullanımı genelde event handling yani olay yönetimi ile ilgili oluyor. Mentat'ın da dediği gibi GLUT oldukça basit ve bu konuda hiç şansın yok ama Win32api, SDL veya WxWidgets gibi nispeten daha gelişmiş olanlarda bunun için uygun bir yöntem bulunmakta (umarım Smile).
SDL ile nasıl yapıldığını biliyorum, kısaca SDL_PollEvent fonksiyonu kullanılmamalı. Bu fonksiyon herhangi bir olay olmasa da hiçbir şey olmuyor mesajı döndürdüğü için cpu'yu meşgul tutuyor. Bunun yerine SDL_WaitEvent fonksiyonu ile sadece istediğiniz olayların yaşanmasını beklersiniz bu sayede cpu'ya gereksiz yük binmez.
Diğer API'lerde de durum aynı ama onlarla bunu nasıl yaparsın bilmiyorum. Bilenler açıklarsa öğreniriz değil mi? Klavye başına beyler Smile.
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et MSN Messenger
MD-C



Kayıt: Feb 26, 2003
Mesajlar: 1258
Nereden: Dünya.Türkiye(54)

MesajTarih: Tue Sep 27, 2005 7:42 pm    Mesaj konusu: Alıntıyla Cevap Ver

Bu soruyu bir kere daha cevaplamıştım: GetMessage() yada PeekMessage()'de hWnd, kısmına NULL gönder!
Başa dön
Kullanıcı profilini gör E-Posta'yı gönder Kullanıcının web sitesini ziyaret et
AhmedHan



Kayıt: Jun 01, 2005
Mesajlar: 7

MesajTarih: Wed Sep 28, 2005 3:12 pm    Mesaj konusu: Alıntıyla Cevap Ver

Ayni sorun Visual Basic'te de vardi. do-loop donguleri falan cok CPU harciyordu. Yine bi forumda bana DoEvents diye bi fonksiyon tavsiye etmisti birisi. Gercekten de cok ise yaramisti.

Bu bakimdan SDL_WaitEvent fikri hosuma gitti. Bu aksam MSDN'i biraz arastiracagim.
Başa dön
Kullanıcı profilini gör
Mesajları göster:   
Yeni Başlık Gönder   Cevap Gönder    www.oyunyapimi.org Forum Ana Sayfası -> Programlama Dilleri ve Algoritmalar Tüm saatler GMT +2 Saat
1. sayfa (Toplam 1 sayfa)

 
Forum Seçin:  
Bu forumda yeni konular açamazsınız
Bu forumdaki mesajlara cevap veremezsiniz
Bu forumdaki mesajlarınızı değiştiremezsiniz
Bu forumdaki mesajlarınızı silemezsiniz
Bu forumdaki anketlerde oy kullanamazsınız


Powered by phpBB 2.x.x © 200x phpBB Group
Türkçe Çeviri : Onur Turgay & Erdem Çorapçıoğlu
Türkçe Düzenleme: Alexis Canver
Version 2.x.x of PHP-Nuke Port by Tom Nitzschner © 200x www.toms-home.com




Web site powered by PHP-Nuke
Web site engine\'s code is Copyright © 2002 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Sayfa Üretimi: 0.190 Saniye