Neptune
> потому что зачем-то начинает выделять туеву хучу гигабайт памяти
Может переполнение инта не проверяют, это они умеют...
Вообще так как огл драйвер работает в отдельном потоке, он может скопировать в замапленную память и только потом перегонять все на гпу, а в это время ты в своем потоке продолжаешь что-то делать. Еще теоретически драйвер может выгружать данные из видеопамяти в оперативную, если считает, что памяти может не хватить.
Wolfraider
товарищ Morphia ?
/A\
> Еще теоретически драйвер может выгружать данные из видеопамяти в оперативную,
> если считает, что памяти может не хватить.
По-моему современные дрова это уже не умеют (кроме интела). У меня всегда при приближении к физическому объему видеопамяти начинаются ошибки, GL_OUT_OF_MEMORY и вскоре краш. Поэтому я слежу за ее потреблением, и был очень огорчён, когда года 3 назад AMD похерила свое расширение ATI_MEM_INFO (не помню точно название).
Neptune
> о самое интересное то, что эта выделенная память не возвращается!
было нечто подобное - типа драйвер думает, что потом эта память повторно будет использоваться и ждёт
glFlush ?
>При этом встроенный профайлер вижуал студии ничего подозрительного не показывает
ну так - это же память драйвера
Не совсем, он ведь отжирает память у моего процесса, а она не резиновая (всего 4 гига).
Neptune
> он ведь отжирает память у моего процесса
может он просто делает reserve?
Ну мне-то от этого не легче. Он ее не освобождает, пока glDeleteTextures не вызову. На 64 бита переходить - это, неверное, не один месяц... У меня много арифметики указателей.
Neptune
> Он ее не освобождает, пока glDeleteTextures не вызову.
а ... так это другой кейс
тогда смотри в сторону sparse
Neptune
> Ландшафт 2.0
Все забываю спросить - есть ли у тебя в проекте Солнечная система и ландшафты планет Солнечной системы с правильными лунами/планетами на небе?
Конечно есть.

Neptune
> > Еще теоретически драйвер может выгружать данные из видеопамяти в оперативную,
> > если считает, что памяти может не хватить.
> По-моему современные дрова это уже не умеют (кроме интела).
ты про линукс?
Нет, про винду.
Neptune
> Нет, про винду.
странно, на nvidia точно можно было создавать текстуры больше чем VRAM
Драйвер нвидии теперь еще и при создании vbo наглым образом жрёт память и не освобождает. Никто не заметил? Может быть, это у меня в системе проблема?
Хотите верьте, хотите нет, но портирование SE на x64 заняло один вечер. Я сам в шоке! Всего лишь надо было собрать сторонние библиотеки под x64, и пару правок в коде сделать.
Вроде всё работает, какие-то подлагивания появились, SE отжирает 8 гигабайт и на этом успокаивается. При создании тех же самых текстурных массивов съедается сразу 4 гигабайта и так и не возвращается. Это всё-таки как-то неправильно, раньше такого не было.
Neptune
> При создании тех же самых текстурных массивов съедается сразу 4 гигабайта и так
> и не возвращается. Это всё-таки как-то неправильно, раньше такого не было.
сделай минимальный пример - потестим :)
Тема в архиве.