Есть ли причина, по которой вы хотите нарисовать все облако точек за один вызов? Заполните динамический буфер как можно большим количеством точек, отрендерите его, затем заполните его следующим пакетом и выполните рендеринг снова и т. Д. Это не так эффективно, как один вызов отрисовки, но 640x480 точек - это всего лишь 5 пакетов из 65535 что ни в коем случае не является чрезмерным.
Возможно, вы также захотите взглянуть на аппаратные экземпляры, которые по-прежнему сталкиваются с той же проблемой, но более эффективны для рендеринга большого количества идентичных объектов.