zub писал(а):Крассическая схема "нарисовал и забыл" в случае GL даст далекий от заявленной производительности результат по обозначеным мной в предидущем посте причинам.
Если я правильно понял что за схема "нарисовал и забыл", то там с контролем нарисованного скорее проблемы. Кто-то вызвал glClear и все.
Я за схему "запомнил что надо рисовать и рисуй каждый фрейм". Она помедленней, но надежна. И поддается оптимизации.
zub писал(а):И вообще принципы работы различных кустомдрав бакэндов очень отличаются - это нужно учитывать сразу.
Меня интересует конкретно бакенд через GAPI.
zub писал(а):Я к тому и клоню, что нужно ввести еще слой "низкоуровневых" "контролов":
Я бы их примитивами назвал. На контролы не тянут.
Только этот слой может сам ничего не запоминать, а просто дергать слой с GAPI, чтобы тот запихал нужную инфу уже прямо в вершинный буфер.
Таким образом, количество хранимой информации минимально. Необходимость её перестроения тоже.
В общем, варианты такие:
1. Делать полностью свой GUI. Без LCL. Типа как MSE.
2. Делать custom-draw backend для LCL.
Я так понимаю, во втором случае работы не меньше, чем в первом. Фактически вариант 1 входит в 2.
У меня есть опыт/наработки по своему GUI (логика, сообщения), по оптимизированному GAPI бакенду для 2D отрисовки вообще и GUI в частности.
Т.е. эти части могу полностью или частично взять на себя, если надо.
Еще будет необходимо сделать враппер сообщений для разных платформ/ОС. Делал это для винды и немного для линуха.
Создание/управление окнами и т.п. тоже сюда входит, как я понимаю.
Какие части еще кто видит и чем готов поучаствовать?