From c86305718d828f31192041a7f324329de51830b5 Mon Sep 17 00:00:00 2001 From: iperov Date: Sat, 28 Aug 2021 19:17:19 +0400 Subject: [PATCH] add developer FAQ --- README.md | 4 +++- doc/developer_faq/developer_faq.md | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 doc/developer_faq/developer_faq.md diff --git a/README.md b/README.md index 1c8fe84..9d55cc4 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,9 @@ Windows 10 ## Documentation -Frequently Asked Questions +User FAQ + +Developer FAQ diff --git a/doc/developer_faq/developer_faq.md b/doc/developer_faq/developer_faq.md new file mode 100644 index 0000000..37795e8 --- /dev/null +++ b/doc/developer_faq/developer_faq.md @@ -0,0 +1,18 @@ + + +
+ +## Why Python for such high load software and not C++? + +All CPU-intensive tasks are done by native libraries compiled for Python, such as OpenCV, NumPy, PyQt, onnxruntime. Python is more like a command processor that tells what to do. All you need is to organize such commands properly. + +## What does the internal architecture look like? + +It consists of backend modules that work in separate processes. The modules work like a conveyor belt. CameraSource(FileSource) generates the frame and sends it to the next module for processing. The final output module outputs the stream to the screen with the desired delay. Backend modules manage the abstract controls that are implemented in the UI. Thus, the Model-View-Controller pattern is implemented. To reduce latency, some custom interprocess communication elements are implemented. + + + +
+ + +