The 2006 2D Sprite Render Test

Discussion in 'Game Development (Technical)' started by dxgame, Jun 23, 2006.

  1. dxgame

    Original Member

    Joined:
    Mar 11, 2005
    Messages:
    267
    Likes Received:
    1
    Thanks IndiePath for the BlitzMax version!

    hmm... I'm seeing a disturbing trend. We seem to be getting better performance on our own machines compared to running on other machines. IndiePath stated speeds better than DOUBLE my engine on his machine, yet on my machine the BlitzMax version runs slower than the 2 previous demos. The attached screen grab shows it running at 36fps. :confused:

    "FYI, I can run 10,000 Sprites in BMAX at 60FPS." I got 10,000 at 10fps on my box. :(
     

    Attached Files:

  2. Indiepath

    Indiepath New Member

    Joined:
    Aug 22, 2004
    Messages:
    999
    Likes Received:
    0
    Results from another test machine

    BMAX: 40FPS
    DXGame: 35FPS
    Undersan: 23FPS
     
  3. dxgame

    Original Member

    Joined:
    Mar 11, 2005
    Messages:
    267
    Likes Received:
    1
    More Results: (This is my highest end machine that I dare develop on.)
    AMD Sempron 3100+ 1.8ghz
    Geforce 4 MX 4000

    2000 Sprites Full Screen

    BMax: 76fps
    DXGame: 68fps
    Undersan: 46fps
     
  4. Indiepath

    Indiepath New Member

    Joined:
    Aug 22, 2004
    Messages:
    999
    Likes Received:
    0
    I think I know why my initial results were very high. BMAX will use TnL if it's available, if not then it falls back to the standard HAL renderer (thanks Tim). The card on this machine supports TnL, my second test machine does not.
     
  5. jankoM

    Indie Author

    Joined:
    Feb 17, 2005
    Messages:
    1,003
    Likes Received:
    0
    It seems your machines like your engines the most :)

    undersan I think you have a bug , when It says 4 sprites I see 3, when it says 8 I think I see 6, when 2 - 1 and when 2000 I see 1978 sprites

    ps. joking about the last one :)
     
  6. Mike Wiering

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    246
    Likes Received:
    0
    Maybe there is one running around with alpha 0?
     
  7. dxgame

    Original Member

    Joined:
    Mar 11, 2005
    Messages:
    267
    Likes Received:
    1
    "TnL" Ok, I'm thick on this one, what's TnL?
     
  8. Indiepath

    Indiepath New Member

    Joined:
    Aug 22, 2004
    Messages:
    999
    Likes Received:
    0
    Hardware transformations and lighting.
     
  9. electronicStar

    Original Member

    Joined:
    Feb 28, 2005
    Messages:
    2,068
    Likes Received:
    0
    I might very well be the consequence of a bug (eg fps not measured when writing is OFF for example)
     
  10. Hidden Sanctum

    Original Member

    Joined:
    Nov 12, 2005
    Messages:
    66
    Likes Received:
    0
    I tried various numbers:

    At 2,000 sprites:
    Blitz - 506
    DX -103
    Undersan - 423

    At 1,000 sprites:
    Blitz - 885
    DX -227
    Undersan (1,024 sprites) - 620

    At 500 sprites:
    Blitz - 1430
    DX -346
    Undersan (512 sprites) - 680

    At 100 sprites:
    Blitz - 2750
    DX -603
    Undersan (128 sprites) - 720

    At 10,000 sprites on the Blitz demo, I got 104fps.

    My system specs are 3.2 Ghz Pentium (dual CPUs), 4 Gig ram, 256M nVidia geForce 6800.
     
  11. Mike Wiering

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    246
    Likes Received:
    0
    I just made a version for OpenGL (in Delphi), but I can't disable vsync and use double buffering at the same time, so I made two different versions. The version without double buffering blinks all the time, but the other one runs at your desktop refresh rate.

    www.wieringsoftware.nl/tmp/sprites.zip

    Results:

    Code:
                              100     500    1000    2000    4000
    -------------------------------------------------------------
    VB              window    460     226     140      80     n/a
    (dxgame)         full     428     216     138      80     n/a
    -------------------------------------------------------------
    C++/DX 8.1 *    window    512     250     155      86      46
    (undersan)       full     808     312     173      94      50
    -------------------------------------------------------------
    BlitzMax        window    636     342     216     126      68
    (indiepath)      full    1150     462     266     144      76
    -------------------------------------------------------------
    OpenGL          window    912     408     240     133      70
    (wiering)        full     950     425     252     139      73
    -------------------------------------------------------------
    Java (princec)   full     760     280     158      85      45
    -------------------------------------------------------------
    
    * 128/512/1024/4096 instead of 100/500/1000/4000
    
    IndiePath, maybe you could compile your version for OpenGL and see if that makes a difference.
     
    #31 Mike Wiering, Jun 24, 2006
    Last edited: Jun 24, 2006
  12. dxgame

    Original Member

    Joined:
    Mar 11, 2005
    Messages:
    267
    Likes Received:
    1
    This is all very interesting. This has shown me that at least my rendering methods are not taking advantage of certain hardware abilities in some video (newer??) cards. But while on older cards, onboard cards, the overall performance in all of the demos seems to be relatively level.
     
  13. dxgame

    Original Member

    Joined:
    Mar 11, 2005
    Messages:
    267
    Likes Received:
    1
    Just did a fresh reboot from my main dev box for updated results:

    Intel OnBoard Extreme Graphics
    Celeron 2.93ghz

    2000 Sprites

    Undersan (C++/DX8): 36fps
    IndiePath (BlitzMax/DX7): 35fps
    DXGame (VB6/DX8): 34fps
    Wiering(Delphi/OpenGL): 28fps
     
  14. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    Hey, give this Webstarted one a test:

    Java sprite test with LWJGL

    (Should run on Windows, MacOS PPC & Intel, Linux x86)

    Cas :)
     
  15. Mike Wiering

    Original Member

    Joined:
    Jul 28, 2004
    Messages:
    246
    Likes Received:
    0
    I've updated my post above with the results.
     
  16. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    oh yeah - whack enter to change to windowed mode.

    Cas :)
     
  17. Pyabo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    1,315
    Likes Received:
    0
    Interesting. That's a whole 'nother metric to test now... the speed of the built-in text rendering methods in various engines. :)
     
  18. Pyabo

    Original Member

    Joined:
    Jul 27, 2004
    Messages:
    1,315
    Likes Received:
    0
    I thought the point was comparing higher-level engines? I really don't want to be forced to worrying about things like this... that's why I'm using PTK (or BlitzMax, PopCap) to begin with!
     
  19. undersan

    Original Member

    Joined:
    Oct 25, 2004
    Messages:
    52
    Likes Received:
    1
    Thanks to everyone who has contributed! To anyone posting results, I'd appreciate it if you'd specify your video card (most of you have).

    princec, can you double-check that your app is using 32-bit color throughout? I notice some banding on the little blue-and-pink tile.

    Here are my results:
    Code:
    windowed/fullscreen framerates for 2000 32x32 sprites
    nt = not tested by me
    for wiering, I used sprites.exe.
    
    Radeon 9600 Pro
    dxgame      91/91
    undersan    204/234
    indiepath   210/232
    wiering     171/188
    princec     165/165
    
    Geforce4 Ti 4400
    dxgame      100/98
    undersan    183/216
    indiepath   201/220
    wiering     nt/nt
    princec     nt/nt
    
    Geforce2 GTS
    dxgame      70/72
    undersan    54/60
    indiepath   75/91
    wiering     72/82
    princec     nt/91
    
    I agree. It would be nice to see some commercial engines here. As far as indiepath's BlitzMax-powered app, I'm unclear whether he's using his customized version of BlitzMax, or the "stock" version.
     
  20. princec

    Indie Author

    Joined:
    Jul 27, 2004
    Messages:
    4,873
    Likes Received:
    0
    I think step 2 now is to use sprites from 4 different textures (randomly) and have them all rotating and moving with floats. And animate each sprite each frame to use a frame from each texture one at a time in sequence :)

    Cas :)
     

Share This Page

  • About Indie Gamer

    When the original Dexterity Forums closed in 2004, Indie Gamer was born and a diverse community has grown out of a passion for creating great games. Here you will find over 10 years of in-depth discussion on game design, the business of game development, and marketing/sales. Indie Gamer also provides a friendly place to meet up with other Developers, Artists, Composers and Writers.
  • Buy us a beer!

    Indie Gamer is delicately held together by a single poor bastard who thankfully gets help from various community volunteers. If you frequent this site or have found value in something you've learned here, help keep the site running by donating a few dollars (for beer of course)!

    Sure, I'll Buy You a Beer