В последнее время я замечал, что в моей игре иногда возникают проблемы с производительностью, когда каждый кадр занимает намного больше времени, чем нужно для завершения.Я подключил его к CPU Sampler в Instruments и обнаружил кое-что довольно странное (думаю, я впервые использую CPU Sampler, поэтому я не понимаю всего этого).
glClear, по-видимому, занимает безумное количество процессорного времени (в настоящее время он равен 36% и постоянно растет).Это довольно трудоемкая игра, поэтому ни один вызов glClear не должен занимать так много времени.
glClearColor(backgroundcolor[0], backgroundcolor[1], backgroundcolor[2], 1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
Вызывается только один раз за кадр.У меня нет активного буфера трафарета, так что это не проблема.Одна вещь, которая может быть проблематичной, заключается в том, что моя игра позволяет вам двигаться практически так далеко, как вы хотите, в любом направлении, а это означает, что ваше местоположение по осям X и Y может очень далеко от начала координат.Попытается ли glClear очистить весь покрытый ландшафт или только размеры экрана?И если это не проблема, то кто-нибудь знает, почему это так дорого на моем процессоре?