Docs: Added FAQ entries removed old one which is misleading today. Misc tweaks.

This commit is contained in:
omar
2020-06-19 10:56:54 +02:00
parent 9c2a36f573
commit 99f68d7958
5 changed files with 49 additions and 30 deletions

View File

@ -32,29 +32,34 @@ You can find binaries of some of those example applications at:
---------------------------------------
MISC COMMENTS AND SUGGESTIONS
GETTING STARTED
---------------------------------------
- Read FAQ at http://dearimgui.org/faq
- Please read 'PROGRAMMER GUIDE' in imgui.cpp for notes on how to setup Dear ImGui in your codebase.
Please read the comments and instruction at the top of each file.
Please read FAQ at http://www.dearimgui.org/faq
- If you are using of the backend provided here, so you can copy the imgui_impl_xxx.cpp/h files
- If you are using of the backend provided here, you can add the imgui_impl_xxx.cpp/h files
to your project and use them unmodified. Each imgui_impl_xxxx.cpp comes with its own individual
ChangeLog at the top of the .cpp files, so if you want to update them later it will be easier to
Changelog at the top of the .cpp files, so if you want to update them later it will be easier to
catch up with what changed.
- Dear ImGui has 0 to 1 frame of lag for most behaviors, at 60 FPS your experience should be pleasant.
However, consider that OS mouse cursors are typically drawn through a specific hardware accelerated path
and will feel smoother than common GPU rendered contents (including Dear ImGui windows).
You may experiment with the io.MouseDrawCursor flag to request Dear ImGui to draw a mouse cursor itself,
to visualize the lag between a hardware cursor and a software cursor. However, rendering a mouse cursor
at 60 FPS will feel slow. It might be beneficial to the user experience to switch to a software rendered
cursor only when an interactive drag is in progress.
Note that some setup or GPU drivers are likely to be causing extra lag depending on their settings.
If you feel that dragging windows feels laggy and you are not sure who to blame: try to build an
application drawing a shape directly under the mouse cursor.
- Dear ImGui has no particular extra lag for most behaviors, e.g. the value of 'io.MousePos' provided in
NewFrame() will result at the time of EndFrame()/Render() in a moved windows rendered following that mouse
movement. At 60 FPS your experience should be pleasant.
However, consider that OS mouse cursors are typically drawn through a very specific hardware accelerated
path and will feel smoother than the majority of contents rendererd via regular graphics API (including,
but not limited to Dear ImGui windows). Because UI rendering and interaction happens on the same plane as
the mouse, that disconnect may be jarring to particularly sensitive users.
You may experiment with enabling the io.MouseDrawCursor flag to request Dear ImGui to draw a mouse cursor
using the regular graphics API, to help you visualize the difference between a "hardware" cursor and a
regularly rendered software cursor.
However, rendering a mouse cursor at 60 FPS will feel sluggish so you likely won't want to enable that at
all times. It might be beneficial for the user experience to switch to a software rendered cursor _only_
when an interactive drag is in progress.
Note that some setup or GPU drivers are likely to be causing extra display lag depending on their settings.
If you feel that dragging windows feels laggy and you are not sure what the cause is: try to build a simple
drawing a flat 2D shape directly under the mouse cursor.
---------------------------------------
@ -155,12 +160,12 @@ Those will allow you to create portable applications and will solve and abstract
Building:
Unfortunately in 2020 it is still tedious to create and maintain portable build files using external
libraries (the kind we're using here to create a window and render 3D triangles) without relying on
third party software. For most examples here I choose to provide:
third party software. For most examples here we choose to provide:
- Makefiles for Linux/OSX
- Batch files for Visual Studio 2008+
- A .sln project file for Visual Studio 2010+
- A .sln project file for Visual Studio 2012+
- Xcode project files for the Apple examples
Please let me know if they don't work with your setup!
Please let us know if they don't work with your setup!
You can probably just import the imgui_impl_xxx.cpp/.h files into your own codebase or compile those
directly with a command-line compiler.