Size: a a a

Programming Offtop

2020 November 17

AM

Andrew Mikhaylov in Programming Offtop
А вот нахера скатываться в оскорбления, вместо того, чтобы просто сказать, что не хочешь спорить -- непонятно.
источник

AM

Andrew Mikhaylov in Programming Offtop
"он с этим живёт" подразумевает не просто смирение, а и оптимизации. При работе с воспроизведением видео иначе никак.
источник

VP

Vladimir Petrakovich in Programming Offtop
Что ж, ответ мы узнаем в следующей серии
https://t.me/pofftop/255241
источник

AK

Anton Korotkikh in Programming Offtop
Vladimir Petrakovich
Из беседы в итоге непонятно, в чём разногласия и причина взрыва
ну типа мейнстрим фп - это как пердёж, думаешь что сейчас немного памяти выделится, ну типа пустишь структуру-шептуна, а там целое дерево объектов на штаны копируется, внезапно.
источник

AM

Andrew Mikhaylov in Programming Offtop
Andrew Mikhaylov
"он с этим живёт" подразумевает не просто смирение, а и оптимизации. При работе с воспроизведением видео иначе никак.
Дихотомия между "дрочиться с оптимизацией аллокаций и молиться на гц ради контроля состояния" против "минимизировать аллокации, отказавшись от части контроля".
источник

I

Ilmir in Programming Offtop
саша сок #KotlinGang
компоуз добавляет дополнительные контекст, путь он называется Container

fun Container.Button(...) = children.add(...)

разве нет?
Насколько я понимаю, в Компоузе дополнительный параметр - контекст отрисовки, а не контейнер, таким образом, он избегает аллокаций.
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Разногласия понятно в чём -- Ильмир за то, чтобы не выделять лишний раз память в коде отрисовки, который гоняется на 60 вызовов в секунду, Егору похер, он с этим живёт, ради иммутабельности и лучшего контроля за происходящим в программе.
Я только не понял, откуда там лишний контроль. И то и то - магия компилятора. Отличие только в синтаксисе
источник

AM

Andrew Mikhaylov in Programming Offtop
Alexander Nozik
Я только не понял, откуда там лишний контроль. И то и то - магия компилятора. Отличие только в синтаксисе
Лишний контроль в плане возможности взять это самое дерево и делать с ним что угодно -- хоть тестировать без рендеринга, хоть сериализовать для отправки по сети, хоть ещё что.
источник

ML

Mikhail Levchenko in Programming Offtop
@happy_bracket ты читал про incremental computations?
источник

AM

Andrew Mikhaylov in Programming Offtop
Ну и магии в реактоподобном, мягко говоря, меньше, чем в компоузе.
источник

AM

Andrew Mikhaylov in Programming Offtop
Mikhail Levchenko
@happy_bracket ты читал про incremental computations?
источник

AN

Alexander Nozik in Programming Offtop
Andrew Mikhaylov
Лишний контроль в плане возможности взять это самое дерево и делать с ним что угодно -- хоть тестировать без рендеринга, хоть сериализовать для отправки по сети, хоть ещё что.
Никто не мешает в компоузе делать построение дерева без рендера. Я как раз недавно интересовался. Немного странно, что для этого нет инструментов, но сама механика это позволяет
источник

AN

Alexander Nozik in Programming Offtop
Там можно подменять компоузер
источник

ML

Mikhail Levchenko in Programming Offtop
Andrew Mikhaylov
Лишний контроль в плане возможности взять это самое дерево и делать с ним что угодно -- хоть тестировать без рендеринга, хоть сериализовать для отправки по сети, хоть ещё что.
снепшотное тестирование – хуйня, которая постоянно ломается
источник

AA

Andrey Akimov in Programming Offtop
Anton Korotkikh
ну типа мейнстрим фп - это как пердёж, думаешь что сейчас немного памяти выделится, ну типа пустишь структуру-шептуна, а там целое дерево объектов на штаны копируется, внезапно.
в голос
источник

I

Ilmir in Programming Offtop
Ilmir
Насколько я понимаю, в Компоузе дополнительный параметр - контекст отрисовки, а не контейнер, таким образом, он избегает аллокаций.
Пример, как такое можно сделать дан в SICP - глава 2.2.4 "Пример: язык описания изображений".
источник

ML

Mikhail Levchenko in Programming Offtop
Andrew Mikhaylov
Лишний контроль в плане возможности взять это самое дерево и делать с ним что угодно -- хоть тестировать без рендеринга, хоть сериализовать для отправки по сети, хоть ещё что.
там же есть "лэйаут инспектор для бедных" который подсвечивает границы. уверен что он работает на перехвате вызовов отрисовки. Тем более что сами вызовы то хранятся в гэп буфере
источник

AN

Alexander Nozik in Programming Offtop
Я просто видел как внутри выглядят прототипы компоуза для веба и для десктопа. Там как бы нет проблем подменить компоузер. Более того, тот же Layout уже частично это делает
источник

I

Igor in Programming Offtop
Ilmir
Насколько я понимаю, в Компоузе дополнительный параметр - контекст отрисовки, а не контейнер, таким образом, он избегает аллокаций.
На самом деле проблемы аллокации только в коде который выполняется на каждый фрейм,
А 99% android ui статичны в отрисовки и логике
источник

AK

Anton Korotkikh in Programming Offtop
Andrew Mikhaylov
Ну и магии в реактоподобном, мягко говоря, меньше, чем в компоузе.
не в теме за реактоподобное в мобилках, но во фронте реакты как раз были спсителями по части перфоманса, после совершшено безбожных вещей вытворяемых ангуларами или прямолинейными штуками типа jquery и backbone. компоуз это что-то принципиально новое по своей идеи?
источник