Merge "TextField to consume TouchEvents" into tizen
[platform/core/uifw/dali-toolkit.git] / docs / content / shared-javascript-and-cpp-documentation / high-level-design.md
1 /**
2  *
3
4 # High Level Design {#dali-hld}
5
6 ## Components {#dali-components}
7
8  + **DALi Core:** Event handling, Scene Graph, Rendering, Resource Management
9  + **DALi Adaptor:** Threading Model, Integration with the main loop.
10  + **DALi Platform Abstraction:** Resource loading & decoding in multiple threads (part of dali-adaptor)
11  + **DALi Toolkit:** Reusable UI Controls, Effects & Scripting Support
12
13 ![ ](architecture.png)
14
15 ## Main, Update & Render Threads {#dali-threads}
16
17 DALi uses a multithreaded architecture in order to provide the best performance and scalability.
18
19  + **Event Thread:** The main thread in which application code and event handling runs.
20  + **Update Thread:** Updates the nodes on the scene as well as running animations & constraints
21  + **Render Thread:** OpenGL drawing, texture and geometry uploading etc.
22  + **Resource Threads:** Loads images and decodes into bitmaps etc.
23
24 ![ ](dali-threads.png)
25
26 */