Java-Gaming.org    
Featured games (78)
games approved by the League of Dukes
Games in Showcase (429)
Games in Android Showcase (89)
games submitted by our members
Games in WIP (468)
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  
  Best 2D sprite animation performance  (Read 1188 times)
0 Members and 1 Guest are viewing this topic.
Offline GiraffeTap222

Senior Newbie





« Posted 2013-01-04 02:13:50 »

Whats the best way to do or make 2D animations using sprites?

I am thinking about having a sprite sheet that has all the frames needed for it's animation.
Then just changing what frame to look at when I'm actually running the animation after X amount of time.

The only other way I can think of doing it is to load in all the frames as textures and the bind them,
but that's like shooting my self in the foot when it comes to performance

Whats the best way to do this for the best performance in openGL?
 
Offline bach

Senior Member


Medals: 3
Projects: 2



« Reply #1 - Posted 2013-01-04 02:25:02 »

SpriteSheets, yes. And if possible combining SpriteSheets on a TextureAtlas to reduce texture swapping even further.

Bach
Offline princec

JGO Kernel


Medals: 285
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #2 - Posted 2013-01-04 11:45:48 »

These days a texture atlas is only one small part of the equation. You also need to look into VBOs, mapped byte buffers, state change minimisation, and asynchronicity.

Cas Smiley

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline GiraffeTap222

Senior Newbie





« Reply #3 - Posted 2013-01-04 17:40:23 »

These days a texture atlas is only one small part of the equation. You also need to look into VBOs, mapped byte buffers, state change minimisation, and asynchronicity.

Cas Smiley

Could you explain what you mean Cheesy ?

I only know what VBOs and possibly asynchronicity are if you talking about making a multi-threaded program Sad
Offline princec

JGO Kernel


Medals: 285
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #4 - Posted 2013-01-04 21:15:07 »

Plenty of stuff here on JGO about VBOs and performance if you do some searches.

In a nutshell: VBOs are for writing your sprite vertex geometry in to. You can write into a VBO while the GPU is drawing sprites; there's your asynchronicity.

Cas Smiley

Offline davedes
« Reply #5 - Posted 2013-01-04 21:55:42 »

princec is right if you want bleeding-edge performance. However, vertex arrays are still very fast (surely fast enough for most 2D games). VBOs are generally faster. Mapped VBOs seemed to be the fastest, aside from GL3 solutions like instancing, texture arrays or geometry shaders.

If you want to start writing your own sprite batcher, you have a bit of work in store for you. Especially if you choose the programmable pipeline (which will give you much more power and flexibility).

Understanding Textures is an essential first step. You can see my intro to sprite batchers here. The API source code is relatively minimal and will give you all you need for a high performant (shader based) sprite batcher.

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.

theagentd (6 views)
2014-04-24 23:00:44

xsi3rr4x (83 views)
2014-04-15 18:08:23

BurntPizza (75 views)
2014-04-15 03:46:01

UprightPath (86 views)
2014-04-14 17:39:50

UprightPath (69 views)
2014-04-14 17:35:47

Porlus (86 views)
2014-04-14 15:48:38

tom_mai78101 (109 views)
2014-04-10 04:04:31

BurntPizza (169 views)
2014-04-08 23:06:04

tom_mai78101 (265 views)
2014-04-05 13:34:39

trollwarrior1 (217 views)
2014-04-04 12:06:45
List of Learning Resources
by SHC
2014-04-18 03:17:39

List of Learning Resources
by Longarmx
2014-04-08 03:14:44

Good Examples
by matheus23
2014-04-05 13:51:37

Good Examples
by Grunnt
2014-04-03 15:48:46

Good Examples
by Grunnt
2014-04-03 15:48:37

Good Examples
by matheus23
2014-04-01 18:40:51

Good Examples
by matheus23
2014-04-01 18:40:34

Anonymous/Local/Inner class gotchas
by Roquen
2014-03-11 15:22:30
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!