# \[ANN\] CImGui.jl - A Wrapper for Bloat-free Immediate Mode Graphical User interface(Dear ImGui)

**URL:** <https://discourse.julialang.org/t/ann-cimgui-jl-a-wrapper-for-bloat-free-immediate-mode-graphical-user-interface-dear-imgui/21268>\
**Category:** Package Announcements\
**Created:** [February 27, 2019, 4:22pm UTC](https://discourse.julialang.org/t/ann-cimgui-jl-a-wrapper-for-bloat-free-immediate-mode-graphical-user-interface-dear-imgui/21268 "2019-02-27T16:22:39Z")\
**Posts on this page:** 1\
**Showing post:** 20

<div class="post-metadata">

**Author:** ![Gnimuc](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gnimuc/32/2194_2.png) [@Gnimuc](https://discourse.julialang.org/u/Gnimuc)\
**Post date:** [March 6, 2019, 4:50am UTC](https://discourse.julialang.org/t/ann-cimgui-jl-a-wrapper-for-bloat-free-immediate-mode-graphical-user-interface-dear-imgui/21268/20 "2019-03-06T04:50:31Z")

</div>

That’s probably due to the implementation of OpenGL backend is not very efficient. It queries a lot OpenGL global states in the rendering loop:

> <https://github.com/Gnimuc/CImGui.jl/blob/0c5d72d5066b54d37f50e08ae3f93dc7985103db/src/backend/OpenGL/impl.jl#L40-L59>

This implementation is copied from `Dear ImGui` which maybe a trade-off bwteen correctness and performance.

---

_[View the full topic](https://discourse.julialang.org/t/ann-cimgui-jl-a-wrapper-for-bloat-free-immediate-mode-graphical-user-interface-dear-imgui/21268)._
