I have a question regarding OpenGL ES context size. I have two OpenGL contexts running on iPad retina using GLKView. The view is configured to have no depth / stencil / multisampling but only a 32 bit framebuffer. A single buffer takes 12MB (2048*1536*4 bytes). Profiling my application reveals I have 3 IOKit allocations of 12MB plus one allocation of 12MB from Core Animation. I suspect they are all related. My guess is that Core animation caches the resulting frame buffer which explains the one 12MB coming from it.Also, I'm calling deleteDrawable on the GLKView which is hidden, which means that I would have expected a single 12MB buffer from IOKit and maybe another one from Core Animation. Does anyone have any experience with OpenGL memory consumption, how to reduce it and why do I see three IOKit allocations although I have only a single GLView at any given time?
Related Questions in IOS
- URLSession requesting JSON array from server not working
- Incorrect display of LinearGradientBrush in IOS
- Module not found when building flutter app for IOS
- How to share metadata of an audio url file to a WhatsApp conversation with friends
- Occasional crash at NSURLSessionDataTask dataTaskWithRequest:completionHandler:
- Expo Deep linking on iOS is not working (because of Google sign-in?)
- On iOS, the keyboard does not offer a 6-character SMS code
- Hi, there is an error happened when I build my flutter app, after I'm installing firebase packages occurs that error
- The copy/paste functionalities don't work only on iOS in the Flutter app
- Hide LiveActivityIntent Button from Shortcuts App
- While Running Github Actions Pipeline: No Signing Certificate "iOS Development" found: No "iOS Development" signing certificate matching team ID
- Actionable notification api call not working in background
- Accessibility : Full keyboard access with scroll view in swiftui
- There is a problem with the request entity - You are not allowed to create 'iOS' profile with App ID 'XXXX'
- I am getting "binding has not yet been initialized" error when trying to connect firebase with flutter
Related Questions in OPENGL-ES
- How can I use ARCore and OpenGL without Sceneform for making ar measurement app android?
- Unable to find GL_INT_2_10_10_10_REV define on Android GLES
- How to rotate model and view matrix with same angle?
- CameraX custom OpenGL Video Pipeline (`UseCase`/`VideoOutput`)
- How do I avoid leaking Graphics memory in OpenGL ES 2.0 in a background thread on Android?
- How to Create GPU SkImage in a Background Thread and Draw it on a Main SkSurface with OpenGL and Skia?
- glTexSubImage2D throws GL_INVALID_OPERATION in OpenGL ES 3.2 on Android NDK with FreeType
- What are the rules for the precision of casting operations in GLSL
- Why would a OpenGL ES 2.0 leak graphics memory on Android, but not iOS with the same code
- Create a VideoFrame from Canvas
- GLES30 Ray Picking gluUnProject
- OpenGL lighting works incorrectly on Android and WebAssembly
- WebGL: this extension has very low support on mobile devices
- OpenGL ES 3.0 - Textures black
- OpenGL-glGetUniformLocation failed
Related Questions in MEMORY-CONSUMPTION
- High memory consumption of .Net 6 app on Linux
- Over Memory consumption of Weaviate
- Tesseract OCR: less memory consumption by avoiding new instances of TessBaseAPI?
- Having too many methods unused without being commented out could decrease RAM efficiency as well?
- Will Uint32Array and other typed arrays already claim space when initialised?
- java process shows huge RSS consumption than expect in aarch64
- What is the cheaper way to get file names in a folder in C#?
- PowerShell - how can I get memory consumption peak for my exe program from PowerShell
- Memory leak problem / App crushes - StreamBuilder > StreamBuilder > GridView.builder in Flutter
- Increase Maximum Memory of 512M?
- Temporal cost and Spatial cost analysis problem
- SqlAlchemy memory management
- How to run a memory consuming application using windows scheduler?
- Acess memory in task manager using java
- Higher memory allocation rates for List of single-character String than multi-character String
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Popular Tags
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
I believe that iOS devices use triple buffering internally, which would explain the extra allocations. This was mentioned by John Carmack in an email printed here.