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

  • Home
  • SEARCH
  • 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 8375861
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 9, 20262026-06-09T15:17:07+00:00 2026-06-09T15:17:07+00:00

Are GLES 2.0 calls synchronous or asynchronous on Android and iOS? When will it

  • 0

Are GLES 2.0 calls synchronous or asynchronous on Android and iOS?
When will it block CPU and wait for GPU to complete sent commands?
I believe glReadPixels and glGetTexImage will definitely block thread and wait for all gl commands to complete.

After some tests I feel like multi threaded app may gain performance even on single core device because GL calls are synchronous and GPU blocks CPU.

Is there any reference either gl* calls are synchronous or not on iOS and Android.
I know in general it is not synchronous.

Does it make sense to have 2 threads: one thread to make GL calls and other thread to run physics to give CPU some work when GL blocks main thread ?

  • 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-06-09T15:17:09+00:00Added an answer on June 9, 2026 at 3:17 pm

    Most OpenGL commands do not block the execution of the program. Anything that sets state or issues a draw call just puts a command in the GPU pushbuffer and immediately returns. You do not have to wait for the command to reach the GPU, or for a model to finish drawing before the next command is issued.

    The exception is anything which requests state from the GPU, such as glGet.../glRead... operations. This requires the GPU to flush it’s instruction queue so that it can return the correct value to you. These can cause lengthy stalls, and are thus recommended to be used sparingly as needed.

    Does it make sense to have 2 threads: one thread to make GL calls and other thread to run physics to give CPU some work when GL blocks main thread ?

    That depends. Generally if you’re stalling waiting for the GPU, it’s because you immediately need to get some value to continue in your calculations. If there is work you can do in the background that does not depend on this, it can make sense to offload that to another thread.

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

Sidebar

Related Questions

I'm looking to use GL_OES_get_program on Android using the Android SDK (not native). http://www.khronos.org/registry/gles/extensions/OES/OES_get_program_binary.txt
As I know alpha composition uses straight alpha basically. But all GLES blending sample
I've begun playing with the android NDK. One of the things I've just learnt
I'm planning making a game for AppStore, so I'm studying GLES. But, GLES 1.1
I am trying to display an image using OpenGL ES through android NDK.. What
Please provide me some iOS game development documentation for beginners. I do already have
Similar to this question but for Android: Android GLES20 supports a method glShaderBinary, which,
I know that android version 2.1 and below do not support GLES20. My code
I have following commands: // Load the shaders and get a linked program object
I plan to build a game for mobile. My target platforms are iOS and

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.