прикол в том, что рецепта идеального не будет, и советов не много, могу просто поделится опытом
В идеале должен быть рендерер под конкретную задачу со своими возможностями, лимитными ресурсами и прочим, что будет просто делать максимально эффективным. Я уже не раз спорил с челами о том, что ГАПИ программирование это не так легко как кажется(а если вы только начали и кажется легко - вы заблуждаетесь). Банально даже объёмом, информации тонна с кучкой которую надо впитывать, знать вышмат(лин. ал.) по хорошему.
Вот мне довелось поработать с парой человек которые действительно хорошо в этом разбираются, оба - работали в реальных геймдев компаниях, имеют образование и в целом крутые специалисты по моему мнению. Я сразу прост упомяну часть самую проблемную на мой взгляд которую они решали, это выдрачивание и минмаксинг твоих фреймграфов, да и в целом алгоритмика и оптимизации. И вот тут уже начинается действительное искусство, даже несмотря тип на то, что это буквально дефолтное профилирование и дебаггинг, своих подводных у такого скорее всего достаточно
Что еще могу сказать, имхо лучше использовать то, что нужно для ваших целей и не больше, вам нафиг не нужен ультра навороченный рендерер с RT/FG/прочим калом для игры "змейка" или калькулятора, и не используйте древний deprecated код потому-что его постепенно убивают разработчики дров(по совместительству производители ГПУ). Ну и если надо - то батчинги, инстансинги, индирект рендеринги, всё что есть и даёт перф - надо брать, перф - штука в целом чуть ли не самая важная в играх

По хорошему вообще и в абсолютном идеале - сходи да почитай(я не спец, много чего сам не знаю, лучше - такие гайды и книги):
И кстати, срачи по поводу "твой фреймворк говно, нет твой фреймворк говно" - полная шляпа и про это надо по хорошему начать забывать. Плохие фреймворки или библиотеки бывают, но тут их скорее чаще срут за то что они "старые" (перестали быть популярны у кого-то вчера "и вообще говно")