Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6152441
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T19:55:15+00:00 2026-05-23T19:55:15+00:00

I’ve heard that glBindTexture is really slow and must be avoided as much as

  • 0

I’ve heard that glBindTexture is really slow and must be avoided as much as possible, but for a 2D tiled OpenGL game coded in C++ (about 400 tiles on screen per frame max.), is a texture atlas really needed? Also is the overhead of re-calculating texture coordinates for each tile really less than the overhead of changing textures only when needed (I draw the tiles row by row and only call glBindTexture when the next tile is different from the current one)?

EDIT:The tiles are 32×32 pixels so all will fit into one atlas

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T19:55:16+00:00Added an answer on May 23, 2026 at 7:55 pm

    Binding another texture may be cheaper than one thinks depending on your usage pattern if you are only a little lucky. Modern GPUs have more than one texture set that the driver can switch between relatively easily (see this somewhat lengthier explanation). Especially if you change between a moderately variable set of tiles, chances are good that it will not be a total stall.

    However the thing is, you don’t know. It might just be different, too. As long as you don’t know, you should assume the worst case rather than the best.
    Plus, the dreaded pipeline stall is not the only thing that is possibly expensive in a texture bind. The GL has to dereference at least two pointers (with a high likelihood of cache miss) and do some non-trivial consistency checks on the object and the overall renderstate after binding the object.
    Those cache effects and consistency checks are a problem, they are the reason why nVidia is still working on “bindless graphics”. They refer to it as “the new bottleneck”.

    All that probably does not matter for 500 state changes on a desktop machine, but as Goz already pointed out, it will matter on a handheld. If nothing else (i.e. even if it does not impact the frame rate), it will cause the battery to drain faster.
    That’s a pity because it is totally unnecessary, a texture atlas is easy to implement and has none of that overhead, and all involved calculations are trivial (since you don’t use mipmaps).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

That's pretty much it. I'm using Nokogiri to scrape a web page what has
I have a French site that I want to parse, but am running into
I'm parsing an RSS feed that has an ’ in it. SimpleXML turns this
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I have a string like this: La Torre Eiffel paragonata all’Everest What PHP function
I've got a string that has curly quotes in it. I'd like to replace
Seemingly simple, but I cannot find anything relevant on the web. What is the
I am doing a simple coin flipping experiment for class that involves flipping a
I need to clean up various Word 'smart' characters in user input, including but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.