Size: a a a

Rust GameDev — русскоговорящее сообщество

2021 January 08

(L

(((Mike Lubinets))) in Rust GameDev — русскоговорящее сообщество
!спам
источник

NE

Nyc Enas in Rust GameDev — русскоговорящее сообщество
ну и я хотел бы пожаловаться что если в каждом кадре создавать новую Texture2D, то память утекает. А Texture2D.update требует context, который вроде бы доступен только внутри либы.
источник

(L

(((Mike Lubinets))) in Rust GameDev — русскоговорящее сообщество
источник

AL

Andrey @ozkriff Lesn... in Rust GameDev — русскоговорящее сообщество
^ cast ffddr_
источник

АМ

Александр Маглеванны... in Rust GameDev — русскоговорящее сообщество
(((Mike Lubinets)))
Я тут пока отвечал на вопрос в бегиннерсах заметил, что macroquad для расчета времени кадра (и времени со старта вообще) использует miniquad::date::now, который немонолитический и это может вызвать проблемы, если эти значения используется, например, в расчетах физики

https://github.com/not-fl3/macroquad/blob/master/src/lib.rs
https://github.com/not-fl3/miniquad/blob/3336b8adccfe71aaa7ed100d305965b7384272f7/src/lib.rs#L56

Хочу PR прислать с заменой f64 на Instant в macroquad::Context, но не уверен насколько это правильно в контексте сохранения разделения ответственности в *квадах

Буду рад если кто-нибудь из активных контрибуторов даст немного направлений
А разве WASM поддерживает Instant?
источник

R

Roman in Rust GameDev — русскоговорящее сообщество
Александр Маглеванный
А разве WASM поддерживает Instant?
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
Nyc Enas
ну и я хотел бы пожаловаться что если в каждом кадре создавать новую Texture2D, то память утекает. А Texture2D.update требует context, который вроде бы доступен только внутри либы.
С чего бы она утекала? Там нету RAII?
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
И почему это контекст доступен только внутри либы если вот тут он используется спокойно? Что-то мешает сделать по подобию?
https://github.com/not-fl3/macroquad/blob/c84b104404e6dc833ed4e86fe2ec75308066685d/src/texture.rs#L43
источник

ВМ

Виталий Медоваров... in Rust GameDev — русскоговорящее сообщество
miniquad::start(
           conf::Conf {
               sample_count: 4,
               ..config
           },
           |ctx| {
               unsafe {
                   MAIN_FUTURE = Some(Box::pin(future));
               }
               unsafe { CONTEXT = Some(Context::new(ctx)) };
               UserData::free(Stage {})
           },
       );

насколько я понял, ctx это то что вам нужно
источник

АМ

Александр Маглеванны... in Rust GameDev — русскоговорящее сообщество
Вот где он раньше был :)
источник

NE

Nyc Enas in Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
И почему это контекст доступен только внутри либы если вот тут он используется спокойно? Что-то мешает сделать по подобию?
https://github.com/not-fl3/macroquad/blob/c84b104404e6dc833ed4e86fe2ec75308066685d/src/texture.rs#L43
эта функция разве наружу из либы доступна?
источник

AL

Andrey @ozkriff Lesn... in Rust GameDev — русскоговорящее сообщество
Nyc Enas
эта функция разве наружу из либы доступна?
зачем ты доки 0.2.9 смотришь?
источник

NE

Nyc Enas in Rust GameDev — русскоговорящее сообщество
Andrey @ozkriff Lesnikóv
зачем ты доки 0.2.9 смотришь?
предлагаешь альфу смотреть?
источник

AL

Andrey @ozkriff Lesn... in Rust GameDev — русскоговорящее сообщество
Nyc Enas
предлагаешь альфу смотреть?
конечно
источник

NE

Nyc Enas in Rust GameDev — русскоговорящее сообщество
там тоже пусто
источник

AL

Andrey @ozkriff Lesn... in Rust GameDev — русскоговорящее сообщество
Nyc Enas
там тоже пусто
источник

o

operator in Rust GameDev — русскоговорящее сообщество
ffddr_: > ну и я хотел бы пожаловаться что если в каждом кадре создавать новую Texture2D, то память утекает. А Texture2D.update требует context, который вроде бы доступен только внутри либы.

Я бы рекомендовал посмотреть пример с обновлением текстуры: https://github.com/not-fl3/macroquad/blob/master/examples/life.rs

То что Texture2D утекает Context в публичное апи - баг и будет пофикшено
источник

NE

Nyc Enas in Rust GameDev — русскоговорящее сообщество
Виталий Медоваров
С чего бы она утекала? Там нету RAII?
хз что такое RAII, просто на таком коде похоже текстуры не выгружаюся https://gist.github.com/rust-play/71838b18770a26d5f4d3c30d1b0d5096
источник

o

operator in Rust GameDev — русскоговорящее сообщество
ffddr_: да, текстуры не RAII и требуют удаления через .delete()
источник

o

operator in Rust GameDev — русскоговорящее сообщество
ffddr_: но лучше не создавать текстуры каждый кадр
источник