Jump to content

  • Log In with Google      Sign In   
  • Create Account


Which is faster? Drawing 256 16x16 bitmaps or drawing one 480 x 480 bitmap?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
6 replies to this topic

#1 black_darkness   Members   -  Reputation: 280

Like
0Likes
Like

Posted 26 December 2012 - 05:21 PM

Right now I am drawing each bitmap representing a tile seperately. I am barely getting 60 fps in my game and I want my game to have better performance than this. If I would get better performance making maps using a tile editor and exporting the bitmap and making a entity system to manage can_pass or cannot_pass or warp I would do that instead.



Sponsor:

#2 Kaptein   Prime Members   -  Reputation: 1846

Like
0Likes
Like

Posted 26 December 2012 - 06:53 PM

well, one draw call is ALOT faster on a gpu than say 200 draw calls
additionally, you should have a tile map that contains each tile on the same texture
and draw from that single texture for each quad, and avoid binding new textures as much as possible

the fastest solution is this:
one texture, one VBO, one draw call

an alternative method is using 2D texture arrays for tiles, which simplifies things greatly
since you wont need to separate textures to avoid mipmapping "incidents" due to filtering
using texture 2D array feature, it will still be only 1 texture bind

what i would try, is have 1 mesh, that consists of 3x3 planes that are tilesheets
that way i only need 1 bind, and i can render subsets of the 3x3 planes depending on camera position
it will make smooth scrolling easier (but dont take my word for it, since i do mostly 3D)

good luck

#3 Cornstalks   Crossbones+   -  Reputation: 6966

Like
0Likes
Like

Posted 26 December 2012 - 07:03 PM

I am barely getting 60 fps in my game [...]

Do you have vsync on? Do you know what the bottleneck is?

 

@Kaptein: Are you randomly inserting line breaks? wink.png


Edited by Cornstalks, 26 December 2012 - 07:03 PM.

[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

#4 Kaptein   Prime Members   -  Reputation: 1846

Like
0Likes
Like

Posted 26 December 2012 - 07:16 PM

@Kaptein: Are you randomly inserting line breaks?

good call on the vsync! it's true, most computer screens are 60hz, and 60 fps is more than enough for animation
in movies (although interlaced), its ~25 fps!

anyways, yes, i'm having some serious issues with the forums today! each time i post, a ton of
is
showing up instead of line breaks
it's making things a bit hard, but i'm not one to complain smile.png

here is my first attempt at a reply:
<blockquote class="ipsBlockquote" data-author="Cornstalks" data-cid="5014561"><p>@Kaptein: Are you randomly inserting line breaks?&nbsp;<img data-cke-saved-src="http://public.gamede...efault/wink.png" src="http://public.gamede...efault/wink.png" class="bbc_emoticon" title=":wink:" /><br />&nbsp;</p></blockquote><br />good call on the vsync! it's true, most computer screens are 60hz, and 60 fps is more than enough for animation<br />in movies (although interlaced), its ~25 fps!<br /><br />anyways, yes, i'm having some serious issues with the forums today! each time i post, a ton of &lt;br /..&gt; is<br />showing up instead of line breaks<br />it's making things a bit hard, but i'm not one to complain <img data-cke-saved-src="http://public.gamede...fault/smile.png" src="http://public.gamede...fault/smile.png" class="bbc_emoticon" title=":)" /><br /> 


#5 minibutmany   Members   -  Reputation: 1508

Like
0Likes
Like

Posted 27 December 2012 - 07:31 AM

You can keep the same kind of map file you are using if you generate a background image out of your tiles the first time the cycle runs, then just draw that image each time instead of all the tiles. Make sure your not reading from the hard disk each cycle, that really slows it down.
Stay gold, Pony Boy.

#6 Bacterius   Crossbones+   -  Reputation: 8189

Like
0Likes
Like

Posted 27 December 2012 - 10:30 AM

good call on the vsync! it's true, most computer screens are 60hz, and 60 fps is more than enough for animation
in movies (although interlaced), its ~25 fps!

 

This isn't quite correct - movies can get away with less because each frame is somewhat blurred in with the previous and next frames, which makes frame transition much smoother. Try it out - next time you watch a movie, pause it at a random point with enough movement and watch how blurry it is. 25 fps (and even 30, for that matter) is most definitely not enough for video games to appear smooth without unrealistic amounts of motion blur. 60 fps is still far from perfect, as well, but it's satisfactory for most users.  Motion blur and good camera handling can help a lot, though. This is really off-topic, though, so I'll stop here.


Edited by Bacterius, 27 December 2012 - 10:30 AM.

The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.

 

- Pessimal Algorithms and Simplexity Analysis


#7 MisterFuzzy   Banned   -  Reputation: 161

Like
0Likes
Like

Posted 28 December 2012 - 07:07 PM

Have you considered NOT drawing the tiles that are not visible on-screen? I'm constantly forgetting to do this myself...


"Only idiots quote themselves" - MisterFuzzy

 





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS