Если вы посмотрите на дельты времени, вы, вероятно, обнаружите, что они не очень последовательны от кадра к кадру. Вероятно, это не потому, что для рендеринга кадров требуется разное время, это просто артефакт пакетной, конвейерной природы драйвера GLES.
Попробуйте вместо этого использовать какое-то скользящее среднее из дельт времени: http://en.wikipedia.org/wiki/Moving_average
Обратите внимание, что хотя наблюдаемые в вашем приложении дельты времени не очень согласованы, тот факт, что вы получаете 60 кадров в секунду, подразумевает, что кадры, вероятно, отображаются через определенные промежутки времени (я предполагаю, один кадр на дисплей v-sync). Это означает, что задержка между вашим приложением, выполняющим вызовы GL, и результирующий кадр, отображаемый на дисплее, меняется. Именно это изменение вы пытаетесь скрыть с помощью скользящего среднего.