У меня хорошее понимание того, как работает процессор. Я взял в университете модули компьютерной архитектуры и научился программированию на ассемблере.
Когда я программирую код, который будет работать на CPU, мне будет довольно легко представить, как этот код будет работать в моей голове. Мне довольно легко подумать о том, где и когда будет выполняться код, какие части будут выполняться дольше, чем другие, какие компоненты системы нужно будет использовать для выполнения части кода, какие возможности у системы что я не полностью использую et c.
Однако сейчас я начинаю изучать OpenGL и чувствую себя полностью потерянным. У меня нет абсолютно никакой ментальной модели того, как работает графический процессор или как будет выполняться мой код, и из-за этого я абсолютно не знаю, программирую ли я оптимальным образом или нет.
Что мне нужно научить меня понимать, как работает графический процессор, и уметь «думать» как один? Имена указанных c ресурсов были бы хорошими, но названия общих тем / областей, о которых я должен узнать, тоже хороши.