játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5511
FZoli:    4894
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2529

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2198
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] > 35 < [40] [45] [50] [55] [60] [65] [70] [75] [80] [82]
proof88 - Törzstag | 530 hsz       Online status #147382   2011.02.05 21:04 GMT+1 óra  
indítás után csak fehér ablakot látok, a win szól hogy a progi hiba miatt leállt
   
bit.0x8000 - Törzstag | 574 hsz       Online status #147379   2011.02.05 20:38 GMT+1 óra  
Idézet
proof88 :
Érdekes, hogy opengl alatt nem elérhető az extension. Várom az SDL-es progit.


http://ubuntuone.com/p/bnB/
(Win XP-n fordítottam és próbáltam...)
   
proof88 - Törzstag | 530 hsz       Online status #147375   2011.02.05 19:50 GMT+1 óra  
Természetesen nálam az első dolgok között szerepel a megfelelő driverek telepítése, és az inteles driver is telepítve van a kártyához. Meg is néztem a grafikus beállításokban még a délután, ahogy mondod, az OpenGL menüpontban, de vsync pont nem volt, pedig tripla bufferelést is lehet állítani. Meg aszinkron flip van engedélyezve, meg ilyenek. VSync-et nem találok.
De azért majd nézek frissebb drivert.

Bármit megnézek, amit küldtök. De ezen csak holnap délelőttig, mert barátnőmé a netbook és most nála vagyok. Általában hétvégén együtt vagyunk.

Megnéztem a linkelt 10minsSpaceStrategy-t. Alapból nem volt bejelölve a vsync, ezért úgy indítottam el, 1024x600x32@60-ban. A menüben 70-75 fps volt, amikor beléptem arra a részre ahol hatszög alakzatok voltak és körökre volt osztva a játék, ott 40 fps volt. Kiléptem, majd bekapcsoltam a vsyncet, és működött. A menüben meg is állt 60-nál. A játék részben, ahol előbb 40 volt, most meg volt fogva 30-nál (amiről beszéltem korábban), és így 30-nál már kicsit darabos volt az egérkurzor mozgása, csak nagyon kicsit látszott. Erre utaltam, hogy ha 40-et nem bír, akkor valami más érték fog kijönni, pl 30. A legközelebbi érték lejjebb a 20, meg a 15 fps. 75 Hz-nél más limit értékek jönnének ki.

Érdekes, hogy opengl alatt nem elérhető az extension. Várom az SDL-es progit.
   
barack1 - Tag | 95 hsz       Online status #147373   2011.02.05 18:45 GMT+1 óra  
Egy ídézet az INTEL -töl.

"To turn off vsync for OpenGL* games or applications, you will need the later graphics drivers installed. With these drivers installed, there is an OpenGL tab or window where this setting can be adjusted. Follow the steps below to disable vsync."

Ez azt jelenti, hogy a windows instalálás után fel kell rakni a legfrissebb INTEL drivert, ahhoz, hogy müködjön az vsync kapcsoló. Természetesen a többi videókártyákkal is ugyan ez a helyzet. Csak azért nem szokták észrevenni az emberek, hogy az Nvidia, vagy Ati kártyákhoz is szar a windows által telepített driver, mert akinek profi videókártyája van az mindig telepítí a videokártya driverét is. Mivel az intel grafikája nem profi, ezért a drivert is el szokták felejteni telepíteni.
   
barack1 - Tag | 95 hsz       Online status #147372   2011.02.05 18:38 GMT+1 óra  
Ime ítt egy lista, amit az INTEL tett közzé. Ezeken az alaplapi videócsipeken az intel garantálja, hogy a VSYNC ditectx és opengl alatt is müködik. Ha jól tudom ebben az összes Intel által gyártott grafikus csip benne van.

Intel® 82830M Graphics and Memory Controller Hub (GMCH)
Intel® 82845G Graphics Controller
Intel® 82852/82855 Graphics Controller Family
Intel® 82865G Graphics and Memory Controller Hub (GMCH)
Intel® 82915G/82910GL Express Chipset Family
Intel® 82945G Express Chipset
Intel® 82946GZ Graphics Controller
Intel® 82G965 Graphics and Memory Controller Hub (GMCH)
Intel® 82Q963 Graphics and Memory Controller Hub (GMCH)
Intel® 82Q965 Graphics and Memory Controller Hub (GMCH)
Intel® B43 Express Chipset
Intel® G31 Express Chipset
Intel® G33 Express Chipset
Intel® G35 Express Chipset
Intel® G41 Express Chipset
Intel® G43 Express Chipset
Intel® G45 Express Chipset
Intel® Q33 Express Chipset
Intel® Q35 Express Chipset
Intel® Q43 Express Chipset
Intel® Q45 Express Chipset
Mobile Intel® 4 Series Express Chipset Family
Mobile Intel® 915GM/GMS, 910GML Express Chipset Family
Mobile Intel® 945GM Express Chipset Family
Mobile Intel® 965 Express Chipset Family
   
barack1 - Tag | 95 hsz       Online status #147371   2011.02.05 18:28 GMT+1 óra  
A directx -ben mindig müködik a vsync. Ez egy köbe vésett deklaráció. Az összes integrált videókártyával is megy. Opengl alatt már nem ilyen egyszerü a dolog. Bár az intel 945GM is ismeri opengl alatt is, csak instalálni kell rá a megfelelö drivert. A windows alappból még a profi NVIDIA, vagy ATI kártyákra is olyan Opengl drivert instalál, ami a kártya 10 % -át sem használja. pl a vertexshader nem megy. A windows instalálás után fel kell rakni a gyártótól származó videókártya drivert, és utána már az Opengl is teljes mértékben használható.
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147368   2011.02.05 17:32 GMT+1 óra  
Idézet
bit.0x8000 :
Idézet
proof88 :
most pont van, Intel 945GM-mel egy netbook.


Ha küldök egy SDL/OpenGL progit, megnézed hogyan szuperál?


Nekem is lécci, erre én is kíváncsi vagyok! 10mss_demo , igaz ez DX-es , F1 -re kiírja az FPS-t, F3-al lehet(ne elvileg) kapcsolgatni a vsync-et..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
bit.0x8000 - Törzstag | 574 hsz       Online status #147367   2011.02.05 17:22 GMT+1 óra  
Idézet
proof88 :
most pont van, Intel 945GM-mel egy netbook.


Ha küldök egy SDL/OpenGL progit, megnézed hogyan szuperál?

szerk: Milyen OS-t használsz rajta amúgy?

Ezt a hozzászólást bit.0x8000 módosította (2011.02.05 17:51 GMT+1 óra, ---)
   
proof88 - Törzstag | 530 hsz       Online status #147365   2011.02.05 15:43 GMT+1 óra  
most pont van, Intel 945GM-mel egy netbook.
   
bit.0x8000 - Törzstag | 574 hsz       Online status #147364   2011.02.05 15:36 GMT+1 óra  
proof88: van ott a közeledben olyan gép, amin nem megy a vsync?
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147363   2011.02.05 15:08 GMT+1 óra  
IMHO nem feltétlen az fps limitálás a megoldás, inkább percíz időzítés (QueryPerformance) kell és kész. Persze minden attól függ, milyen típusú játékról is van szó..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
proof88 - Törzstag | 530 hsz       Online status #147361   2011.02.05 13:15 GMT+1 óra  
Melyik mai driver nem tud vsyncet? Már a régi gf2-esem is tudott... - akkor utoljára elismétlem magam ... a vsync nem fps limitre lett kitalálva. Ne akard senkire se rákényszeríteni a vsyncet. Majd egy multis fps-ben vagy szimulátorban pont a 60 fps-sel akarok játszani... Be kell építeni a játékba a tisztességes fps limitálást és pont. Ez a lényeg.
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147357   2011.02.05 11:44 GMT+1 óra  
Idézet
proof88 :
a vsync-et nem arra találták ki hogy tartson x fps-t, hanem hogy szinkronban legyen a vga és a monitor.

Egyértelmű! Én csak azt furcsálltam, hogy létezhet olyan kártya ami nem tudja.. De így már értem, tehát a driver nem támogatja! Akkor az a gép így járt..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
Pretender - Törzstag | 2498 hsz       Online status #147353   2011.02.05 10:31 GMT+1 óra  
Hol éltek, most komolyan? Melyik mai driver nem tud vsyncet? Már a régi gf2-esem is tudott... :-/ Integrálttal meg ne akarjon az ember nagyon játszani, az nem arravaló. Ami jobb integrált, azon meg van vsync. Nem tudom mit kell ezen ennyit problémázni. Ez kb. olyan, h nem írok shadert, mert nem mindenhol van vs 2.0 és ps 2.0..

   
proof88 - Törzstag | 530 hsz       Online status #147352   2011.02.05 10:29 GMT+1 óra  
legfeljebb a driver nem támogatja, vagy bugos.. - tehát akkor ugyanott tartunk, amiről beszélek: a vsync nem mindig érhető el, a vsync-et nem arra találták ki hogy tartson x fps-t, hanem hogy szinkronban legyen a vga és a monitor. Különben is jól néznénk ki, ha akármilyen programban, ami tud rajzolni akármilyen grafikát realtime, nem tudunk vsynchez nyúlni és akkor jajj hogyan korlátozzam le az fps-t. Egyébként is, a kártya akármilyen jó vagy rossz, a driveren múlik a dolog. Ha az nem tud vsyncet, akkor nem tud, ennyi.
   
Joga - Törzstag | 1791 hsz       Online status #147351   2011.02.05 09:54 GMT+1 óra  
Idézet
bit.0x8000 :
És ha SDL-en keresztül van inicializálva?
( SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1) )

szerk:
Egy dolog már régóta furdalja az oldalam: ha OpenGL alatt textúra atlaszból rajzolok, akkor a textúra koordináták alábbi megadása helyes?
Kód:
// a textúrában 1,1 koordinátán van egy 32,32 méretű rész, amit ki kéne rajzolni
unsigned x = 1, y = 1, width = 32, height = 32;
float texWidth, texHeight, texX1 , texX2, texY1, texY2;

texX1 = x / texWidth;
texX2 = (x + width) / texWidth;
texY1 = y / texHeight;
texY2 = (y + height) / texHeight;

glTexCoord2f(texX1, texY1);
// glVertex2
glTexCoord2f(texX2, texY1);
// glVertex2
glTexCoord2f(texX2, texY2);
// glVertex2
glTexCoord2f(texX1, texY2);
// glVertex2



A képnek nem a 0,0 koordinátán kellene kezdődnie?
(ಠ ›ಠ) Stewie!

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147350   2011.02.05 09:50 GMT+1 óra  
Nehezen képzelem el, hogy egy kártya ne tudjon vsync-et , legfeljebb a driver nem támogatja, vagy bugos..

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
proof88 - Törzstag | 530 hsz       Online status #147347   2011.02.05 05:11 GMT+1 óra  
de akkor ezek szerint csak opengl-el nem érhető el - hát nem tudom, de ha egy kártya / driver nem támogat valamit OpenGL alatt, akkor DX alatt miért tudná? Említette is valaki, hogy ez alap dolog.
   
bit.0x8000 - Törzstag | 574 hsz       Online status #147345   2011.02.05 02:04 GMT+1 óra  
És ha SDL-en keresztül van inicializálva?
( SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 1) )

szerk:
Egy dolog már régóta furdalja az oldalam: ha OpenGL alatt textúra atlaszból rajzolok, akkor a textúra koordináták alábbi megadása helyes?
Kód:
// a textúrában 1,1 koordinátán van egy 32,32 méretű rész, amit ki kéne rajzolni
unsigned x = 1, y = 1, width = 32, height = 32;
float texWidth, texHeight, texX1 , texX2, texY1, texY2;

texX1 = x / texWidth;
texX2 = (x + width) / texWidth;
texY1 = y / texHeight;
texY2 = (y + height) / texHeight;

glTexCoord2f(texX1, texY1);
// glVertex2
glTexCoord2f(texX2, texY1);
// glVertex2
glTexCoord2f(texX2, texY2);
// glVertex2
glTexCoord2f(texX1, texY2);
// glVertex2

Ezt a hozzászólást bit.0x8000 módosította (2011.02.05 02:24 GMT+1 óra, ---)
   
Geri - Törzstag | 2198 hsz       Online status #147343   2011.02.05 00:57 GMT+1 óra  
win7 / vista alatt nálam eddig egyetlen driverrel se volt vsync, persze lehet hogy a wgl extensionok között kellett volna keresni

   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147332   2011.02.04 21:11 GMT+1 óra  
Ja, már megijedtem, hogy maga a kártya nem tudja a vsync-et , de akkor ezek szerint csak opengl-el nem érhető el, vagy csak extension-nel, vagy még úgyse. Oksa.

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
proof88 - Törzstag | 530 hsz       Online status #147329   2011.02.04 20:53 GMT+1 óra  
Szerinted én ezt most csak úgy kitaláltam? Tapasztaltam már, nem volt elérhető a megfelelő extension. Pl SiS 650_651_M650_M652_740 vga-nál pont volt, pedig annak a 3D-je szutyok. De pl Intel 915G-nél, ami jobb volt 3D-ben, nem volt. Nem lehet a VSyncre bízni az fps limitálását, de nem is arra találták ki.
   
HomeGnome - Szerkesztő | 2919 hsz       Online status #147322   2011.02.04 18:46 GMT+1 óra  
proof88: Elnézést, csak naivan érdeklődve kérdezem, hogy komolyan van ahol nincs VSync?? Integrálton letiltották vagy miért? Szerintem már a 20 évvel ezelőtti kártyákon is volt VSync, hiszen ez nem 3D specifikus dolog... Tényleg csak érdeklődésképpen kérdezem!

Klikk, a JF.hu bulvárlap.
Klikk #6 WIP: 30% (Kuz, sade, ramoryan...)
   
proof88 - Törzstag | 530 hsz       Online status #147319   2011.02.04 16:53 GMT+1 óra  
Asylum: miért ne lenne?

Viszont látom senki sem hallgat rám és hülyének néz, amikor azt mondom, hogy VSYNC NEM ÉRHETŐ EL MINDENHOL!!!

Épp ma említette valaki hogy a vsync szépen tartja a képet. Na igen, de ha épp egy olyan gépen nézed a progit, amiben az integrált kártya nem tudja a vsyncet, akkor ugyanúgy több 100 fps lesz. Ezért kell valami plusz dolog. Arról nem is beszélve, mint azt már elmondtam, hogy a vsync negatív hatással is lehet az fps-re. Sokan kitalálják, hogy pl az nfs-ek 30 fps-re vannak belőve. Na persze. Hát nem. Csak a vsync miatt annyival megy.

Amit Joga írt először, a while ciklusban várakozás, az nem jó, mert ugyanúgy maxon pörög a proci és úgy lesz x fps. Az már jobb, amikor úgy írta, hogy while-on belül sleep-el, mert akkor ténylegesen arra a rövid időtartamra nem pörgeti a proci a progit.

Gaborlabor meglátása helyénvaló, tényleg nem pontos a sleep(). Ahogy írták többen is, QueryPerformance....

De még mielőtt lebaszna mindenki, elmondanám, hogy abba a 2D-s játékba én elégségesnek találtam volna berakni kezdésnek egy sleep(20)-at, gondolom a régebbi integrált kártyákat sem fekteti meg folyamatosan rajzolgatni a 2D-s alakzatokat. Ezért említettem a sleep()-et. És igenis kell valami. Ha van vsync, akkor érdemes bekapcsolni, de nem biztos hogy van. És ha van, akkor is opcionálissá kell tenni. A játékokban, pl fps-ekben is be lehet állítani egy max fps értéket, attól hogy nem használtok vsyncet.
   
syam - Törzstag | 1491 hsz       Online status #147318   2011.02.04 16:06 GMT+1 óra  
alias aalberik
   
Asylum - Törzstag | 5511 hsz       Online status #147317   2011.02.04 16:04 GMT+1 óra  
Mért nem jó nektek a vsync?...

ui.: ja mert hogy nincs opengl-ben hohó
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
gaborlabor - Moderátor | 4449 hsz       Online status #147315   2011.02.04 15:50 GMT+1 óra  
A Sleep() viszont nagyon kis időtartamokra pontatlan, kb 10 ms-nél kevesebbet nem nagyon tud várakoztatni. Queryperformance, az a jóság.

   
Joga - Törzstag | 1791 hsz       Online status #147312   2011.02.04 15:01 GMT+1 óra  
No igen, érdemesebb akkor ciklus helyett egy sleep:

Kód:
void syncronize( int milisec )
{
static Uint32 time = 0;
if( time + milisec > SDL_GetTicks() )
    Sleep( time + milisec - SDL_GetTicks() );

time = SDL_GetTicks();
}
(ಠ ›ಠ) Stewie!

   
Matzi - Szerkesztő | 2529 hsz       Online status #147311   2011.02.04 14:43 GMT+1 óra  
Asylum:
Azért nem, mert a sleep nem a legutóbbi idő óta eltelt minimális távolságot korlátozza, hanem annyi ideig nem csinál semmit, amit átadsz neki. Joga kódja viszont azt csinálja, hogy ha két lefutás között az átadott intervallumnál több idő telt el, akkor nem várakoztat semennyit sem.
Annyi hibája van, hogy az üres ciklus 100%os processzor kihasználtságot eredményez, ami nem szerencsés, oda esetleg kellene egy minimális sleep, vagy valami ahhoz hasonló.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Asylum - Törzstag | 5511 hsz       Online status #147310   2011.02.04 14:31 GMT+1 óra  
A Sleep() szerintem pont ugyanezt csinálja.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Joga - Törzstag | 1791 hsz       Online status #147309   2011.02.04 14:19 GMT+1 óra  
Kétlem, hogy nagy dolog lenne összedobni egy függvényt, ami biztosítja az egyenletes FPS-t
pl SDL-ben .:
Kód:
void syncronize( int milisec )
{
static Uint32 time = 0;
while( time + milisec > SDL_GetTicks() )
    ;
time = SDL_GetTicks();
}

de queryperformance, vagy clock() esetén is hamar lehet írni egyet
(ಠ ›ಠ) Stewie!

   
barack1 - Tag | 95 hsz       Online status #147305   2011.02.04 10:33 GMT+1 óra  
Egy 2D -s játékban feltétlenül célszerü bekapcsolni a VSYNC -et. A sleep -es megoldás brutálisan csúnya a VSYNC -hez képest. Miután a 2D játékok több száz FPS -el mennének vsync nélkül, a vsync bekapcslolása azt eredményezi, hogy a játék pont olyan gyorsan rajzol, amin a monitor megy ( álltalában 60 fps ). Ilyenkor a játékokban a mozgás álomszép és lágy lesz. Ha a sleep utasítással probálom a sebességet tartani, akkor nem lesz teljesen egyenletes ( rezeg a mozgás ), és összetört lesz a kép.
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #147279   2011.02.03 13:57 GMT+1 óra  
Idézet
Wolfee :
Idézet
MaNiAc :
[...] simán elkurvulunk [...]
[...] és a magamfajta vakon hisz benne, hogy a fejlesztők elég intelligensek hozzá, hogy kikapcsolják, ha nem kell


ezt a két félmondatot gondold végig együtt

LOL
Dare to imagine!
http://www.insaneidea.hu
   
proof88 - Törzstag | 530 hsz       Online status #147277   2011.02.03 13:34 GMT+1 óra  
normális esetben már nem veszi észre az ember - hát én pedig sokszor észreveszem tft-n, pl Mafia 2-ben is nagyon idegesített de pl multis játékokban általában minél nagyobb fps érdemes.
   
Wolfee - Törzstag | 1337 hsz       Online status #147276   2011.02.03 13:23 GMT+1 óra  
Idézet
MaNiAc :
[...] simán elkurvulunk [...]
[...] és a magamfajta vakon hisz benne, hogy a fejlesztők elég intelligensek hozzá, hogy kikapcsolják, ha nem kell


ezt a két félmondatot gondold végig együtt
FZoli jóváhagyásával XD

   
MaNiAc - Szerkesztő | 1735 hsz       Online status #147275   2011.02.03 13:21 GMT+1 óra  
Lehet, hogy nem tűnt el, de normális esetben már nem veszi észre az ember... CRT-n még éreztem a tearinget. Dehát ez van, a nagy hardver-bőség miatt simán elkurvulunk Egy ideje nem írtam semmi olyat, ami 60 FPS alá menne (nem azért mert májer vagyok, hanem mert már nincs annyi időm kódolni, hogy olyat írjak, ami a mostani kártyákat értelmes keretek között padlóra küldi ), a játékoknál meg app controlled és a magamfajta vakon hisz benne, hogy a fejlesztők elég intelligensek hozzá, hogy kikapcsolják, ha nem kell
Dare to imagine!
http://www.insaneidea.hu
   
Geri - Törzstag | 2198 hsz       Online status #147274   2011.02.03 13:19 GMT+1 óra  
Én szeretem ha be van kapcsolva a vsync, mert nem szeretem a félframeket, ennek ellenére mégis mindig kikapcsolom, mert valahogy kurvára nem szokta bírni a gépem a frissítési frekvencia utolérését, úgy viszont értelmetlen.

   
proof88 - Törzstag | 530 hsz       Online status #147273   2011.02.03 13:12 GMT+1 óra  
vsyncnek tft-nél is van értelme egyébként, a probléma nem tűnt el a crt-kkel együtt
   
proof88 - Törzstag | 530 hsz       Online status #147272   2011.02.03 13:08 GMT+1 óra  
proof88 - Törzstag | 530 hsz       Online status #147271   2011.02.03 13:07 GMT+1 óra  
igen a triple buffering kényszerítése driverből az oké, de valszeg a userek kis része kapcsolja ezt be és mint mondtam, vsync nem mindenhol elérhető.
   
proof88 - Törzstag | 530 hsz       Online status #147270   2011.02.03 13:06 GMT+1 óra  
pedig a vsync eléggé negatívan tudja befolyásolni a játékélményt, ha utánaolvasol akkor el van magyarázva hogy miért. nincs is jobb mint amikor 30 és 60 fps váltakozik és azt érzed a játékon, hogy ugrál. De bármilyen játékot megnézel, javasolják hogy vsyncet csak akkor használj ha bírja a gép. én nem magyarázom el, mert ahhoz rajzolgatni is kéne a szemléltetéshez, de anno olvastam róla cikket, hogy miért is 30 fps meg ilyesmik jönnek ki amikor nem bírja a gép tartani a 60-at.

akkora hülyeséget nem mondtál, de amikor cicergő hangot hallat a gép, mert valszeg több száz fps van egy 2D-s játékban, akkor simán a legjobb tanács szerintem, hogy "kúrj bele egy sleep-et és jó lesz"
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #147269   2011.02.03 12:52 GMT+1 óra  
Nem értem a rengeteg kérdőjelet, szerintem nem mondtam akkora hülyeséget, de ahogy érzed :-)

A main render loop annál sokkal komplikáltabb dolog, mint hogy "kúrj bele egy sleep-et és jó lesz"...

"másrészt pedig, a vsync miben jobb? Véletlenül nem sikerül tartani a 60 fps-t, és nem 58-at kapsz amennyit kaphatnál vsync nélkül, hanem sokkal kevesebbet, pl 30-at."

A fenti mondatot részt nem értem. Miért felezné le a VSync az FPS-t?


SZERK: Előkotortam pár régi vackot, amik a mostani cuccokon kikapcsolt VSync-el több ezer FPS-el mennek... CRT monitoron (1024x768x85) mindig 85 FPS volt VSync-el, TFT-n meg mindig 60. Komolyan nem értem a felezés honnan jön, sose tapasztaltam.

SZERK2: Nvm, rájöttem. Rég szoptam már ilyenekkel, hogy VSync (TFT ftw!), így elfelejtettem, hogy a triple buffering gyakorlatilag kiiktatja ezt a problémát - ez meg nálam szerintem mindig ON volt

Ezt a hozzászólást MaNiAc módosította (2011.02.03 13:03 GMT+1 óra, ---)
Dare to imagine!
http://www.insaneidea.hu
   
Pretender - Törzstag | 2498 hsz       Online status #147268   2011.02.03 12:40 GMT+1 óra  
Igen, 30at. Vsync esetén feleződik, ha jól tudom Esetleg ez? http://gafferongames.com/game-physics/fix-your-timestep/ Bár ez updatere vonatkozik...

   
proof88 - Törzstag | 530 hsz       Online status #147267   2011.02.03 12:31 GMT+1 óra  
MaNiAc: proci limites ????????????
egyrészt a vsync mint azt írtam nem minden helyen érhető el, másrészt pedig, a vsync miben jobb? Véletlenül nem sikerül tartani a 60 fps-t, és nem 58-at kapsz amennyit kaphatnál vsync nélkül, hanem sokkal kevesebbet, pl 30-at. Ezzel a sleep()-pel nem procilimites lesz a program, csak tisztességesebb. Egyébként sem fix értékkel kell sleep()-eltetni, hanem változóval. Egy komplex jelenetnél, amit mondjuk 30 ms tart kirajzolni, ott nyilván nem is kell sleepeltetni.
   
MaNiAc - Szerkesztő | 1735 hsz       Online status #147266   2011.02.03 12:24 GMT+1 óra  
Hat mondjuk en nem tudom, render ciklusban nem sleep-elnek, mert ettol kvazi-procilimitesse valik a program... VSync ON es csok a csaladnak.
Dare to imagine!
http://www.insaneidea.hu
   
proof88 - Törzstag | 530 hsz       Online status #147265   2011.02.03 12:14 GMT+1 óra  
Mystro: teljesen normális dolog ez, és valszeg több száz fps-ed van, és az fps nagyságának arányában hallod a ciripelést. Limitáld le az fps-t, mondjuk 100-ra vagy 60-ra, vagy 30-ra ha az is elég. Mindig érdemes limitálni az fps-t. Egyszerűen annyit teszel, hogy sleep()-elsz néhány ms-et a főciklus végén. pl ugye ha 10 ms-t sleepelsz, akkor 100 lesz a max fps-ed, akkor már valszeg nem fogod hallani ezt a hangot. Ezen felül, VSync-et is érdemes lehet bekapcsolni, hogy ne törjön meg a kép. A VSync-et általában nem tudják az integrált vga-k (a régiek), de érdemes használni, extension kell hozzá. De a vsync előtt, a kódbeli fps limit legyen az első, amit írtam.

ezt a jelenséget bitzajnak is nevezik, egyébként a tekercsek rezgése esik hallható tartományba, azért hallani. Zenél a videjókártya egyébként alaplap, táp, stb is tud ilyen hangot produkálni a terhelés függvényében.
   
Mystro - Tag | 60 hsz       Online status #147261   2011.02.03 10:20 GMT+1 óra  
Hali

Nem tudom mennyire kapcsolódik ez ide, de SDL-ben opengl-t használok 2D alakzatok rajzolására, és észrevettem, hogy renderelés közben a gépből (talán videokártyából) furcsa, halk ciripelő/sípoló hang jön, szerintetek mi lehet ez?
   
metaxa - Tag | 73 hsz       Online status #146981   2011.01.28 14:40 GMT+1 óra  
Sajnálom, hogy zavaros volt amit írtam. Ilyen témában hozzáértés kell, hogy jól fogalmazzon az ember, én viszont csak pár napja foglalkozok a 3d-s programozással. Mindenesetre sikerült segítenetek, amit köszönök. Legközelebb már ahogy egyre jobban megértem a rendszerét úgy fogok egyre otthonosabban fogalmazni is
   
Asylum - Törzstag | 5511 hsz       Online status #146980   2011.01.28 14:27 GMT+1 óra  
Fps függetlenség: http://gafferongames.com/game-physics/fix-your-timestep/

Erre a "szakdogámban" is kitértem, javaslom nézd meg a prezentáciom slidejait (vagy akár magát a kódot). http://people.inf.elte.hu/asylum/releases/
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Geri - Törzstag | 2198 hsz       Online status #146978   2011.01.28 14:20 GMT+1 óra  
Metaxa, zavaros amit írsz, és senki se érti, de érdekes amit csinálsz, úgyhogy segítek neked. Szóval felvettelek msnen, és kitaláljuk hogy mit akarsz, és hogy hogyan kell megcsinálni.

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] > 35 < [40] [45] [50] [55] [60] [65] [70] [75] [80] [82]