|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 05, 2007 11:17 am Post subject: FPS un LCD monitors |
|
Ja ir LCD monitoriem uzlikta 60 Hz frekvence, tad rodas jautājums.
Vai būs manāma acij starpība, ja spēle iet vairāk par 60 FPS?
Ar biezajiem monitoriem neskaidrība ir tāda pati. Parasti ir uzlikta 85 Hz atzīme, bet ir spēles (aplikācijas), kur šis rādītājs (FPS) ir pat ~200 FPS. Kā tur īsti ir?
Tad kāda jēga cīnīties par tiem freimiem/sekundē, kas ir pēc 85 Hz? _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 05, 2007 11:27 am Post subject: |
|
Renderēt vairāk kadrus kā ~60 jau sen īsti nav jēgas (un nav īsi tā nekad arī bijis).
Turpretī apstrādāt klaviatūras/peles/tīkla inputu vai rēķināt fiziku un spēles loģiki gan ir vērts vairāk kā 60 Hz.
Tb spēles galvenajam loopam nav jābūt šādam:
Code: | while (running)
{
update_input();
update_physics_and_logic();
render();
} |
Agrāk visi veidoja tieši šādus spēles main loopus. Un tāpēc visi gribēja daudz kadrus sekundē redzēt, jo tas nozīmēja to, ka spēle visu informāciju apstrādā biežāk. Taču šādā veidā notiek lieka procesora noslogošana ar kadru renderēšanu, bez kuriem mierīgi varēja iztikt, tā vietā veltot procesora resursus citām lietām.
Mūsdienās spēles loopam jābūt tādam, lai inputu/loģikas apstrāde notiktu biežak nekā renderēšana, ja dators to spēj pavilkt. Skaties te: http://www.gaffer.org/game-physics/fix-your-timestep/ |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Sep 05, 2007 2:46 pm Post subject: |
|
bubu: paskatoties uz linku, ienaaca praataa, ka tu vareetu zinaat veel kaaadu taadu, kur rakstiits par to, kaa speelees visaadas daljas efektiivi izveidot - room'us (taa ka katraa savi objekti, tos ielaadee, kad room's saakas, izlaadee, kad room's beidzas, ir iespeeja veidot savus objektus un tur ievietot, u.t.t.), reakciju sisteemu (piemeeram kad objekts tiek radiits, tad notiek tas, bet kad piemeeram ir alarm 1 = 0, tad veel kautkas notiek, u.t.t.)... _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Wed Sep 05, 2007 3:25 pm Post subject: |
|
Euu, tiššš, no mana topika, dīkdieni! _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 05, 2007 6:26 pm Post subject: |
|
snake5: kārtējo reizi nesapratu, ko tu nesaproti un ko tev tur vajag... |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Sep 05, 2007 7:00 pm Post subject: |
|
EDDY: tev jau atbildēja, ja slinkums lasīt, tad pats esi dīkdienis!
bubu: šis ir labs links, es gribētu zināt, kur tu tādus atrodi! varbūt vismaz vari vēl kādu linku iedot no "generic game development" sērijas? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Sep 05, 2007 10:50 pm Post subject: |
|
snake5 wrote: |
bubu: šis ir labs links, es gribētu zināt, kur tu tādus atrodi! |
Parasti tādiem uzduros gūglējot atbildi sev interesējošam jautājumam. Šo konkrēto uzgāju meklējot informāciju par objektu stāvokļu sinhronizēšanu tīkla spēlēs. Jo pirmā lieta, kas tur jādara - jānofiksē laika solis.
Quote: | varbūt vismaz vari vēl kādu linku iedot no "generic game development" sērijas? | Diezgan lielu informācijas daudzumu smeļos no šejienes - http://www.gamedev.net/community/forums/
Un vēl lielāku no šejienes - http://www.google.com/ Tici man šajā var atrast atbildi uz visiem sev interesējošiem jautājumiem. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Sep 06, 2007 3:56 pm Post subject: |
|
he, googlē jāmeklē.. nu labi.. vispār vislielākā problēma man ir tā, ka directx tutoriāļu ir krietni mazāk nekā opengl! tāpēc es neatrodu piemērus ar d3d! _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Sep 06, 2007 7:02 pm Post subject: |
|
Vari pamēģināt apskatīt sampļus DirectX SDK instalācijā, kā arī ATI SDK un Nvidia SDK instalācijās. Tur labas lietas sadotas līdzi. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Sep 06, 2007 8:48 pm Post subject: |
|
nvidia sdk man ir, bet tur neko vienkāršu neatradu... dxsdk arī viss iziet uz pašu jaunāko, bet... būtu labi, ja man būtu dvd rakstītājs - es varētu daudzus dx sdk sarakstīt iekšā...
ak, un mani moka viens jautājums - kā strādā tie, ko angliski sauc "decals"? googlē izmeklējos, bet atradu tikai spēļu modu linkus un tamlīdzīgas lietas.. nezini, kur būtu tas, ko man vajag?
EDIT: man liekas, ka atradu - viens variants - decali ar stencilbuffera palīdzību... bet vai tad half-life'ā pirmajā tā darīja? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
EDDY
Joined: 07 Oct 2005 Posts: 1610 Location: Dzimtā zeme, Latvija
|
Posted: Fri Sep 07, 2007 6:57 am Post subject: |
|
snake5 wrote: | bet... būtu labi, ja man būtu dvd rakstītājs - es varētu daudzus dx sdk sarakstīt iekšā... |
Šis ir labs! :wink:
Lai nebūtu offtopics, prasīšu bubu:
Bet kā tad nofiksēt uz tiem 60 (LCD), vai 85 and UP (CRT)???
Jebšu pliku grafisko rendera daļu nelikt lielāku par 100 kadriem sekundē?
Lokācijas taču mainās. Katreiz pielāgoties pa jaunam, taču nē. Kaut ko universālu vajadzētu. _________________ Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Sep 07, 2007 9:04 am Post subject: |
|
Kamdēļ tu kaut ko tādu gribētu?
Bet nu vienkāršais variants - ieslēdz VSync. OpenGL'am - wglSwapIntervalEXT(1), un D3D - D3DPRESENT_PARAMETERS::PresentationInterval. |
|
Back to top |
|
|
Kamazs Guru
Joined: 17 Jan 2003 Posts: 829 Location: The glorious ancient city of Loja
|
Posted: Fri Sep 07, 2007 9:22 am Post subject: |
|
A ieslēgts Vsync nozīmē to, ka ekrāna zīmēšanas procedūra notiks tikai ekrāna refreš-reitā (teiksim, 60)? Vai arī to, ka procedūra sazīmēs visus 200+ kadrus sekundē savā buferī, bet uz ekrāna tie paradīsies tikai 60 reizes?
Tobish, vai manuāli kodā piespiežot izpildīt zīmēšanas procedūru tikai 60 reizes sekundē būs kāds perfomances ietaupījums salīdzinot ar vienkāršu Vsync'u? _________________ ...un es uzskatu, ka Fallout ir etalons |
|
Back to top |
|
|
DeRatizators
Joined: 27 Apr 2006 Posts: 492
|
Posted: Fri Sep 07, 2007 9:58 am Post subject: |
|
Būs.
Vismaz mums uz opengl + nvidia ir _________________ Any PANCAKE has to be long and thin and short and fat. Not to mention being an excellent insulator and a superb conductor. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Fri Sep 07, 2007 10:40 am Post subject: |
|
Kamazs wrote: | Tobish, vai manuāli kodā piespiežot izpildīt zīmēšanas procedūru tikai 60 reizes sekundē būs kāds perfomances ietaupījums salīdzinot ar vienkāršu Vsync'u? |
Jā būs, jo to laiku, kuru tavs kods pavadītu videokartes draiverī gaidot vertikālo refrešu, tu varētu veltīt spēles loģikas/fizikas apstrādei (ja pareizi implementēts).
Bet īsti neredzu jēgu limitēt renderēšanas kadrus. Efektīvāk ir implementēt to metodi, kas manis iepostētājā linkā augstāk ir minēta. Tādējādi spēles loģika/fizika tiks apstrādāta tik cik ilgi vajadzīga, un viss pārējais (liekais) laiks tiks atveltīts renderēšanai. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|