crypt of decay - кстати, а как? [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

кстати, а как? [Apr. 1st, 2022|03:03 am]
Previous Entry Add to Memories Tell A Friend Next Entry
как в шиткане и прочих «биндлесс текстурах» предполагается менеджить память гпу? даже если предположить, что появится какое-то официальное апи для узнавания, сколько памяти в гпу есть, и сколько свободно — это апи совершенно бесполезно в мультизадачных осях. и сколько каких текстур я могу залочить? а что делать, если лочка ёк? а если я старые текстуры разлочил, а тут прибежало другое приложение, и насовало своих, и опять видеопамяти нихуя нет?

OpenGL в этом случае свапает текстуры сама — именно затем там текстуры биндятся. как предполагается решать эту проблему в Новых Более Лучших Апях? таки просто совать, пока не вернёт ошибку, потом что-то старое выкидывать, опять совать, и надеяться на лучшее? отличное решение, великолепные апи, определённо это прогресс и улучшение по сравнению с бесполезным устаревшим OpenGL.
Linkmeow!

Comments:
From:(Anonymous)
Date:April 1st, 2022 - 02:55 am
(Link)
а у тебя какая видяха
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 02:58 am
(Link)
древняя и скучная.
From:(Anonymous)
Date:April 1st, 2022 - 04:18 am
(Link)
слушай, а как так получается, что ты можешь писать игры и вообще ложкой в рот попадаешь? прямо чудеса господни какие-то. верую, ибо абсурдно.
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 04:23 am
(Link)
ну вот у тебя же мозгов нет — а ты каменты пишешь. чудо же!
From:(Anonymous)
Date:April 1st, 2022 - 04:54 am
(Link)
анон вообще может всё, если ты не заметил.
From:(Anonymous)
Date:April 1st, 2022 - 05:21 am
(Link)
Сверхчеловек фактически.
From:(Anonymous)
Date:April 1st, 2022 - 05:31 am
(Link)
не бинд, а байнд
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 05:34 am
(Link)
это Очень Ценное Уточнение.
[User Picture]
From:[info]steinkrauz
Date:April 1st, 2022 - 02:45 pm
(Link)
Блин, я думал, ты художественно преувеличиваешь, а они реально такое пишут:

When an application starts over-subscribing GPU-side memory, DEVICE_LOCAL memory allocations will fail. It is also possible that later during application execution, another application in the system increases its usage of GPU-side memory, resulting in dynamic over-subscribing of GPU-side memory. This case can result in an OS (for instance Windows 7) to silently migrate or page GPU-side allocations to/from CPU-side as it time-slices execution of each application on the GPU. This can result in visible “hitching”. There is currently no method to directly query if the OS is migrating allocations in Vulkan. One possible workaround is for the app to detect hitching by looking at time-stamps, and then actively attempting to reduce DEVICE_LOCAL memory consumption when hitching is detected. For example, the application could manually move around resources to fully empty DEVICE_LOCAL allocations which can then be freed.
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 08:47 pm
(Link)
дык шиткан — он же проектировался в первую очередь для однозадачных соснолек. на соснольках объём ресурсов более-менее заранее известен, и можно с большой вероятностью надеяться, что никто их не спиздит. во все остальные дивайсы шиткан впихуюется с трудом, но вендоры очень стараются впихуить.
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 08:50 pm
(Link)
справедливости ради, ты для OpenGL описал, да. для шиткана всё ешё проще: ПИЗДЫК. давай, сам пиши механизм свопа текстур и прочих данных, ничего готового не дают. вам, в конце концов, чтобы удобно или чтобы заебаться? потому что OpenGL мы ломали-ломали, но оно очень уж сопротивлялось, никак не получалось совсем доломать.
[User Picture]
From:[info]steinkrauz
Date:April 2nd, 2022 - 02:55 am
(Link)
Почему для OpenGL? Я документ под названием Using Vulkan Device Memory процитировал.
[User Picture]
From:[info]ketmar
Date:April 2nd, 2022 - 03:04 am
(Link)
а. ну, в OpenGL та же фигня, конечно.
From:(Anonymous)
Date:April 1st, 2022 - 03:25 pm
(Link)
> потом что-то старое выкидывать, опять совать, и надеяться на лучшее?

...а в промежутке между выкидыванием старого и засовыванием нового прибегает другой процесс и съедает всё то, что мы только что освободили, верно?

/ЧД/
[User Picture]
From:[info]ketmar
Date:April 1st, 2022 - 08:43 pm
(Link)
ага.
[User Picture]
From:[info]steinkrauz
Date:April 7th, 2022 - 04:35 pm
(Link)
>imagine a sharp corner, like this: "/\". now try to put a sticker into the corner. the part that covers the floor cannot be put "correctly", because "overflows" from both walls will overlap on the floor. now imagine putting the stiker on the other, "outer" side of the corner. now instead of overlapping, we don't have enough sticker to cover the floor (the sticker has to be "torn" to be properly glued).

На мой взгляд, проекция "стикера" на угол с полом представляет собой объёмный многогранник. Если построить его развёртку, то получим по сути тот же стикер, но с вырезом. Делаем вырез прозрачной маской, накладываем на стикер, и никаких наложений. Но это математика выше моего уровня.

[User Picture]
From:[info]ketmar
Date:April 8th, 2022 - 12:58 am
(Link)
проблема не в том, «как». проблема в том, что это выглядит уёбищно. клипать мне вообще ничего не надо, я тупо использую стенсили и рисую обычные квады, я читер.
[User Picture]
From:[info]ketmar
Date:April 8th, 2022 - 01:01 am
(Link)
ну, то есть, некоторая проблема в «как» есть, конечно, но это не главное. построения я делать не хочу, ну нахуй, я тоже в этом ничего не понимаю.
[User Picture]
From:[info]steinkrauz
Date:April 9th, 2022 - 03:26 pm
(Link)
А текстуры-то не так много и едят

Log: Spawned server for "map25".
Log: 6159 decals loaded
Log: 4545 subsector decals loaded
Log: ---------------------------------------
Log: The Sad Kingdom
Log:
Log: OpenGL: ===== starting level precaching =====
Log: OpenGL: GPU VRAM available: 3,481 MB
Log: found 356 level textures
Log: found 146 alias model textures
Log: found 1184 sprite textures
Log: precaching 1686 textures
Log: OpenGL: ===== level precaching complete =====
Log: OpenGL: GPU VRAM available: 3,479 MB
[User Picture]
From:[info]ketmar
Date:April 9th, 2022 - 03:49 pm
(Link)
ну так стандартные текстуры довольно маленькие. впрочем, эта инфа плюс-минус-хуй-знает. я бы не очень доверял. оно там так, чисто потому что мне интересно стало.
[User Picture]
From:[info]steinkrauz
Date:April 9th, 2022 - 04:14 pm
(Link)
А там и нестандартные есть, и довольно много. Не зря ж wad на 54 метра разожран.
Это я сейчас Interception II гоняю, в вавумчике зашибись смотрится, кстати.
[User Picture]
From:[info]ketmar
Date:April 9th, 2022 - 04:34 pm
(Link)
дык грузятся ж не все подряд, а только те, которые реально на карте использованы.