Page 1 of 1

Afanasy anniversary this year!

Posted: Thu Oct 18, 2018 12:18 pm
by timurhai
10 years ago it started to render frames in a real production: https://www.imdb.com/title/tt0493464/
Many major changes happened over that time, Afanasy became much better.
Lets remember the most significant architecture changes:

- Qt is used for GUI only. At first Afanasy was entirely written on Qt, so we needed to install lots of huge GUI libraries on each render node.
- JSON protocol. Very easy to communicate Afanasy. We do not need to compile af module for all needed Python versions any more.
- Web GUI. Browser gives us an ability to check farm without installing anything, we can do it just from a mobile phone.
- Server does not connect to clients. This was the first bottleneck for a bigger farms. When server connects to a big amount of clients it slows down. Now only clients connect to server.
- Server does not raise a thread for an each incoming connection. And this was the second bottleneck on a way to a bigger farms. Thread raising consumes much resources. Better to use threads pool (raise all needed threads once). Also you can configure server to use non-blocking IO (based on epoll facility so this is Linux only feature).
- Branches. You can tune farm resources allocation between departments/projects/assets.

This changes affected the project very much. I even want to say, that it is a completely another product than 10 years ago.
And Afanasy spreads more widely. From a few small studios with a local small farm to a bigger studios all over the world with hundreds of machines in a farm and in a cloud.
Many developers, TDs, render-wrangles, supervisors from different countries/studios contribute to this project.
Some of them write many things manually, some giving invaluable advises from their great experience, some even shared their in-house mature classes.
For a last 10 years working on the project we made it much-much better!
Many thanks for all this to all!