| Önceki başlık :: Sonraki başlık | 
	
	
		| Yazar | Mesaj | 
	
		| wisecode_g 
 
  
 Kayıt: Jul 29, 2005
 Mesajlar: 17
 Nereden: istanbul
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 2:19 am    Mesaj konusu: OpenGL uygulamalarım neden hızlı çalışıyo?? |   |  
				| 
 |  
				| OpenGL de derlediğim uygulamalar çok hızlı çalışıyor bunu düzeltmenin bir yolu varmı acaba?  |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| Black_Knight 
 
  
 Kayıt: Oct 23, 2002
 Mesajlar: 286
 Nereden: İstanbul/İzmir
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 10:28 am    Mesaj konusu: |   |  
				| 
 |  
				| Ekran karti monitor ayarlarindan wait for vertical synci(vsync) aç boylece ekran monitorun tazeleme orani kadar cizilir her saniye 60,70,75,80 falan gibi bir rakam o zaman cok hizli olmaz. Olayi tam cozucem dersen time based movement yapman lazim.
 |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| madprogrammer 
 
  
 Kayıt: Jun 10, 2004
 Mesajlar: 290
 Nereden: İstanbul // Üsküdar
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 11:05 am    Mesaj konusu: |   |  
				| 
 |  
				| iki basit çözümü var kod bazında ya Time Based Movement olayını kullanacaksın ya da PFNWGLEXTSWAPCONTROLPROC extensionını kullanacaksın bu sayede program içinden monitörün vsync olayını kontrol edip vsync değerini vsync kullanma, 60 fps ve 30 fps şeklinde belirleyebilirsin hatta bak örneği de vereyim 
 
 
 
	  | Kod: |  
	  | typedef void (APIENTRY *PFNWGLEXTSWAPCONTROLPROC)   (int);
 typedef int  (*PFNWGLEXTGETSWAPINTERVALPROC)    (void);
 
 PFNWGLEXTSWAPCONTROLPROC wglSwapIntervalEXT       = NULL;
 PFNWGLEXTGETSWAPINTERVALPROC wglGetSwapIntervalEXT  = NULL;
 
 // ardından uygulamayı başlatırken çağrılan fonksiyon içinde bunları yaz
 
 wglSwapIntervalEXT = (PFNWGLEXTSWAPCONTROLPROC)wglGetProcAddress("wglSwapIntervalEXT");
 wglGetSwapIntervalEXT = (PFNWGLEXTGETSWAPINTERVALPROC)wglGetProcAddress("wglGetSwapIntervalEXT");
 
 // ardından yine init fonksiyonu içinde bunu şu şekilde kullan
 // 0 = vsync'yi devre dışı bırak, 1 = 60 fps, 2 = 30 fps
 wglSwapIntervalEXT(0); // 0 yerine 1 veya 2 de yzabilirsin
 
 // hepsi bu kadar gayet basit ha sakın glext'i dahil etmeyi unutma projene.
 
 
 |  
 hadi kolay gelsin umarım yardımcı olmuştur
 |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| madprogrammer 
 
  
 Kayıt: Jun 10, 2004
 Mesajlar: 290
 Nereden: İstanbul // Üsküdar
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 11:06 am    Mesaj konusu: |   |  
				| 
 |  
				| bu arada yanlış anlaşılmasın ben 60 ve 30 fps'yi örnek olarak verdim aslında 60 yerine monitör yenileme hızı ve 30 yerine de bu hızın yarısı olacaktı |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| wisecode_g 
 
  
 Kayıt: Jul 29, 2005
 Mesajlar: 17
 Nereden: istanbul
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 11:25 am    Mesaj konusu: |   |  
				| 
 |  
				| tşkler şimdi olayı çözmek için biraz kasayım  |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| wisecode_g 
 
  
 Kayıt: Jul 29, 2005
 Mesajlar: 17
 Nereden: istanbul
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 12:06 pm    Mesaj konusu: |   |  
				| 
 |  
				| wglSwapIntervalEXT = (PFNWGLEXTSWAPCONTROLPROC)wglGetProcAddress("wglSwapIntervalEXT"); wglGetSwapIntervalEXT = (PFNWGLEXTGETSWAPINTERVALPROC)wglGetProcAddress("wglGetSwapIntervalEXT");
 
 kısmını tam olarak nereye koyacam acaba? nereye koyduysam hata veriyo.. compile oluyo ama exeyi çalıştırırken geçersiz işlem yürütüyo acaba bi yerde hata mı yaptım??
 |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		| wisecode_g 
 
  
 Kayıt: Jul 29, 2005
 Mesajlar: 17
 Nereden: istanbul
 
 | 
			
				|  Tarih: Sat Sep 24, 2005 12:10 pm    Mesaj konusu: |   |  
				| 
 |  
				| tmm oldu.. 
 konu kapanmıştır tşk ederim arkadaşlar..
  |  | 
	
		| Başa dön |  | 
	
		|  | 
	
		|  |