Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (491)
Games in Android Showcase (112)
games submitted by our members
Games in WIP (556)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  newbie questions...  (Read 917 times)
0 Members and 1 Guest are viewing this topic.
Offline webosk

Innocent Bystander




Java games rock!


« Posted 2003-11-30 00:29:03 »

Hi all,

I'm currently attempting my first forray into the world of 3D graphics and I have a few general questions:

1)  On average, how many polys are drawn each frame in modern, commercial games?  I'm just looking for a ballpark/order of magnitude estimate here (i.e., a thousand, ten thousand, etc.)  I basically just want to get a feel for how well my rendering engine is performing...

2)  When I profile my app, it seems like most of the time is spent swapping the buffers (as i would expect), and the other largest chunk of time is spent in the method that draws my vertex arrays.  What percentage of time should be spent swapping buffers (if there even is a general answer to that question) and is there any way to speed up the swaps?

3)  When animating objects (for example characters), is it better/more common to do so by having a set of "pre-rendered frames"-- that is, a different set of vertex information to describe each frame of an animation-- or by modifying the base geometry of the object within my code (e.g., using some sort of skeletal animation)?

Thanks a lot in advance...
Offline princec

JGO Kernel


Medals: 369
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #1 - Posted 2003-11-30 07:22:23 »

1) Not entirely sure but likely to be around the 10k mark these days. But - it's the end result that counts, not how you got there. If you can make a fantastic scene in 1,000 polys it doesn't matter.

2) SwapBuffers calls can't be made any faster. When you call Window.paint() it has to finish all the pipelined OpenGL drawing that you've set up, which is where a large chunk of the time goes; and then it'll sit in there and wait for the monitor vsync if you've enabled it. This artificially skews the CPU time into paint(). To find out how much time you're really spending doing things, disable vsync, and call Gl.glFinish() before Window.paint() which will finish all the GL commands waiting.

3) Prerendered frames are a lot faster. If you're dealing with, say, only 5-10 models on the screen then skeletal animation will be possible (if rather hard!); but if you're dealing with 100-200 models on the screen the overhead is generally too high to do skeletal animation. The very latest graphics cards might be able to cope by cleverly distributing the load between the CPU and GPU by various means.

Cas Smiley

Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #2 - Posted 2003-11-30 08:17:43 »

Q3's default maps were build with a 10k tris guidline (within PVS) the absolut maximum was set to about 15k. Usually you have about 8k tris on the screen.

Doom3 won't have much more. Details are done with bumpmaps. High polycounts would be kinda bad btw - collision detection is poly-accurate (no big fat hitboxes Smiley).

HL2 on the other hand just does more of the old stuff... so it will have incredible high polycounts (and a bunch of shader effects).

However, usually you won't reach critical polycounts in a hobby or semi-pro project.

Oh and there is also something simpler than skeletal animation - (key?) frame interpolation. Quake1 for example looks quite odd nowadays... running at several hundret fps and the models are animated with 18 (or less) fps. (There are several QuakeWorld clients wich have frame interpolation)

弾幕 ☆ @mahonnaiseblog
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Nickropheliac (15 views)
2014-08-31 22:59:12

TehJavaDev (23 views)
2014-08-28 18:26:30

CopyableCougar4 (29 views)
2014-08-22 19:31:30

atombrot (41 views)
2014-08-19 09:29:53

Tekkerue (39 views)
2014-08-16 06:45:27

Tekkerue (35 views)
2014-08-16 06:22:17

Tekkerue (25 views)
2014-08-16 06:20:21

Tekkerue (36 views)
2014-08-16 06:12:11

Rayexar (72 views)
2014-08-11 02:49:23

BurntPizza (49 views)
2014-08-09 21:09:32
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!