.[ ČeskéHry.cz ].
FPS
Jdi na stránku 1, 2, 3  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 9. leden 2010, 16:10:32    Předmět: FPS Odpovědět s citátem

Nán problem s fps aplikace ktera je zalozena na NeHe kodu viz nize jde o to ze se nemuzu dostat pres 60FPS nevim v cem muze byt problem urcite to neukazuje spravne protoze mam 9600GT 1gb 2.8GHZ procesor a 4gb ramky a hra world of warcraft ma kolem 200fps a to je mnohem narocnejsi tak jesti by nekde vedel kde je chyba budu rad diky

nenasel sem kolonku pro prilohy tak je to zde http://uloz.to/3574791/c-.rar
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 9. leden 2010, 16:16:23    Předmět: Odpovědět s citátem

Na kod jsem se zatim nedival, ale tech 60 FPS je v okne nebo fullscreenu? Ve fullscreenu by mohlo jit o tzv. Vertikalni Synchronizaci, GPU pak ceka s vykreslenim sceny na prekresleni monitoru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 9. leden 2010, 16:20:13    Předmět: Odpovědět s citátem

nene v okne ale na tom monitoru neco bude zvysil sem mu frekvenci z 620 na 75 vic nejde a fps je 75 ale to mi celkem vadi neda se s tim neco udelat aby to proste vykreslilo hned?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 9. leden 2010, 16:22:17    Předmět: Odpovědět s citátem

Vypni vertikální synchronizaci v nastavení driveru nebo použij wglSwapIntervalEXT(0), tu funkci získáš třeba přes wglGetProcAddress.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 9. leden 2010, 16:29:16    Předmět: Odpovědět s citátem

nastavil sem to v driveru a hned mam 2600FPS diky jeste jestli bys mi mohl napsat presne tu funkcni jak to udelat a asi to pak dat do Init
gl
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 9. leden 2010, 17:10:00    Předmět: Odpovědět s citátem

Stáhneš si knihovnu GLEW.

#include <glew.h>
#include <wglew.h>

po wglMakeCurrent:
glewInit();
if (WGLEW_EXT_swap_control) wglSwapIntervalEXT(0);

V driveru se ale toto chování dá obvykle potlačit a nastavit to pevně.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 9. leden 2010, 17:22:29    Předmět: Odpovědět s citátem

aha diky moc

EDIT je jeste nejaka moznost mi nejdou knihovny ani z oficialni stranky vim ze se to muze na kazdym PC udelat v nastaveni GK ale je to celkem neprakticky
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 23. leden 2010, 15:57:31    Předmět: Odpovědět s citátem

Tak mam dalsi problem potreboval bych neco jako timer v glutu ale zaclenit do nehe kodu viz vyse.Aby se dany blok volal treba jen jednou za 10sekund tak jestli ma nekdo nejaky napad?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 23. leden 2010, 16:04:48    Předmět: Odpovědět s citátem

Docela dobrej nápad je naprogramovat ten timer. Wink
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 23. leden 2010, 16:46:42    Předmět: Odpovědět s citátem

No to chapu ale nejakou napovedu jak to udelat nejak mi to nejde vzdy se to pri vice fps provede vicekrat coz neni vlastne timer tak nevim jak to udelam proto se ptam
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 23. leden 2010, 21:00:24    Předmět: Odpovědět s citátem

vedel by mi teda nekdo poradit prosim?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 23. leden 2010, 21:09:26    Předmět: Odpovědět s citátem

Pokud mas mnereni FPS, tak predpokladam mas i nejakou funkci, ktera ti rekne kolik ubehlo casu od spusteni aplikace, pak ti staci uplne jednoducha podminka:
kód:

if( (get_current_time() - last_time) > "tvuj_cas" )
{
last_time = get_current_time();

// Sem das kod, kterej se ma provest jen jednou za "tvuj_cas" :)
}

Kde get_current_time() je funkce ktera vrati cas. Je to asi nejjednoduzsi zpusob, ale neosetri pripad, kdy mas nizsi fps a potrebujes ten kod spustit casteji.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 23. leden 2010, 21:34:25    Předmět: Odpovědět s citátem

aha diky hned to pujdu vyzkouset,pouzivam funkci clock() (ctime) ktera vraci cas v milisekundach od spusteni programu,jinak co myslis tim nizsi fps dejme tomu ze to chci spoustet kazdou sekundu to mi staci vlastne 1fps pokud se nepletu ale v tom pripade kdybych potreboval poustet kazdou milisekundu potrebuju fps 1000+.takze pri 1000fps chci aby se pustil jednou za sekundu pri 500fps chci 2krat
kód:

1000/fps //vysledny cas zpusteni cyklu

to asi pro moje potreby staci ale stejne narazim na problem pri 1fps se provede kod jednou za sekundu takze to nemuzu provest 1000krat takze narazim na problem ze pri cca 33fps se akce provede akce 33krat za sekundu coz je jeste spravne ale pri 30fps se uz musi provest vice nez 33krat coz uz neni podle me mozny
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quimby



Založen: 21. 04. 2009
Příspěvky: 51

PříspěvekZaslal: 23. leden 2010, 22:07:30    Předmět: Odpovědět s citátem

ale ted kdyz nad tim uvazuju kdyz bude mit nekdo fps pod 33 tak je to spis problem jeho pc a ne mojich optimalizaci ja se snazil
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1050

PříspěvekZaslal: 23. leden 2010, 22:20:13    Předmět: Odpovědět s citátem

no ak chces nieco pustat napr stokrat za sekundu ale aplikacia ide iba 10fps. tak ked sa k tomu dostanes tak to mozes pustit desatkrat za sebou. kolko casu uplinulo? aha 35 ms tak to pustim 3 krat. (potom tu ale nastava velky problem s tym ak nieco co ma bezat kazdych 10 ms trva beh 20ms. to potom sa dostaneme do nekonecnej slucky co treba osetrit co ja viem ze moze to bezat maximalne 10 krat za sebou.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2, 3  Další
Strana 1 z 3

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna