Re[7]: праандроидUI
От: hattab  
Дата: 10.12.11 09:48
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> НС>> H>Ну как бы вот:

НС> НС>> H>

Во-вторых, я на стажировке в команде Windows Phone, начиная с января


НС> H>На случай сомнений в осведомленности источника.


НС> Осведомленности в чем? То что он там где то стажировался еще не значит, что он понимает что пишет.


В том, что у сервелата бэкенд нативный.

НС> H>Судя по этому, яйца мешают не только андроиду.


НС> Там нет ничего про дерганье анимации. Там только про то, что genGC быстрее.


Не тормози. Это было ответом на слова:

Только вот весь прикладной код, включая UI, там managed. И GC работает в полный рост.

и там, в частности, говорится о:

Existing apps and games even without any changes can expect faster startup, faster level loads and reduction in gameplay stutters due to collection.


ну и предложение попрыгать вокруг GC:

Developers can specifically optimize for the new generational GC to completely remove stutters during animations and game play that came due to these GC pauses.

avalon 1.0rc3 rev 419, zlib 1.2.3
Re[8]: праандроидUI
От: Ночной Смотрящий Россия  
Дата: 10.12.11 10:02
Оценка:
Здравствуйте, hattab, Вы писали:

H>В том, что у сервелата бэкенд нативный.


А у андроида он управляемый что ли?
Re[9]: праандроидUI
От: hattab  
Дата: 10.12.11 12:22
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС> H>В том, что у сервелата бэкенд нативный.


НС> А у андроида он управляемый что ли?


На самом нижнем уровне нет конечно. Видимо все зависит от степени вовлечения управляемого кода в процесс отрисовки.
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[8]: праандроидUI
От: MxMsk Португалия  
Дата: 10.12.11 21:04
Оценка:
Здравствуйте, hattab, Вы писали:

H>ну и предложение попрыгать вокруг GC

Я выкладывал недавно тест
Автор: MxMsk
Дата: 21.11.11
загрузки приложения WPF. Написано это было в ответ на утверждение
Автор: c-smile
Дата: 21.11.11
, что приложение WPF медленно стартует из-за сборщика мусора. Как видишь, профайлер показал ничтожную роль GC во всем этом буйстве Managed-кода. Я к чему: то, что кто-то считает, что тормоза из-за сборщика, далеко не всегда означает, что они (тормоза) действительно из-за него.
Re[9]: праандроидUI
От: Cyberax Марс  
Дата: 11.12.11 02:24
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>В серверных приложениях, тем не менее, многопоточность очень хорошо разграничивается и вся сложность сегрегируется в отдельные модули: базы данных, кэщи и т.п.

НС>Хоть обсегрегируйся. Если по задаче нужны расшариваемые данные, то то дедлоки потенциально будут. Есть в коде блокировки (а они в серверном коде есть и в немалых количествах), значит есть и опасность дедлоков.
Видимо, это тлетворное влияние MSSQL такое. Не помню, чтобы у меня когда-то вообще были проблемы с дедлоками.

C>>И таких неявных связей тонны.

НС>В любом параллельном коде таких связей тонны.
Ты пишешь говнопараллельный код, значит.
Sapienti sat!
Re[9]: праандроидUI
От: hattab  
Дата: 11.12.11 07:38
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM> H>ну и предложение попрыгать вокруг GC


MM> Я выкладывал недавно тест
Автор: MxMsk
Дата: 21.11.11
загрузки приложения WPF. Написано это было в ответ на утверждение
Автор: c-smile
Дата: 21.11.11
, что приложение WPF медленно стартует из-за сборщика мусора. Как видишь, профайлер показал ничтожную роль GC во всем этом буйстве Managed-кода. Я к чему: то, что кто-то считает, что тормоза из-за сборщика, далеко не всегда означает, что они (тормоза) действительно из-за него.


Ты ссылку на мсдн-блог читал? Там весьма доходчиво говорится о паузах из-за GC. К чему ты тут упомянул WPF мне не понятно
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[10]: праандроидUI
От: MxMsk Португалия  
Дата: 11.12.11 08:02
Оценка: +1
Здравствуйте, hattab, Вы писали:

H>Ты ссылку на мсдн-блог читал? Там весьма доходчиво говорится о паузах из-за GC. К чему ты тут упомянул WPF мне не понятно

Есть в моем посте такое предложение, так и начинается "к чему я это". Поясню еще разок. То, что некоторые, как на Хабре, сразу начинают обвинять во всех бедах GC, не означает, что это действительно так. Это такой совет. Managed — не натив, в нем без серьезного опыта и профайлера далеко не всегда можно делать верные предположения.
Re[11]: праандроидUI
От: hattab  
Дата: 11.12.11 08:27
Оценка:
Здравствуйте, MxMsk, Вы писали:

MM> H>Ты ссылку на мсдн-блог читал? Там весьма доходчиво говорится о паузах из-за GC. К чему ты тут упомянул WPF мне не понятно


MM> Есть в моем посте такое предложение, так и начинается "к чему я это". Поясню еще разок. То, что некоторые, как на Хабре, сразу начинают обвинять во всех бедах GC, не означает, что это действительно так. Это такой совет. Managed — не натив, в нем без серьезного опыта и профайлера далеко не всегда можно делать верные предположения.


I am a developer in the .NET Compact Framework (NETCF) team and work on the execution engine. NETCF is the core runtime behind Windows Phone 7 series, XNA (on Xbox360), Silverlight for Nokia S60 and other Windows CE powered devices.


Ну да, откуда бы ему знать о действительном положении дел с GC Может и мне чего-нибудь тебе посоветовать...
avalon 1.0rc3 rev 419, zlib 1.2.3
Re[12]: праандроидUI
От: MxMsk Португалия  
Дата: 11.12.11 14:38
Оценка:
Здравствуйте, hattab, Вы писали:

H>Ну да, откуда бы ему знать о действительном положении дел с GC Может и мне чего-нибудь тебе посоветовать...

Ты прав. Извини, что потратил твое время. Впредь я этого делать не буду.
Re[10]: праандроидUI
От: Ночной Смотрящий Россия  
Дата: 11.12.11 19:26
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Видимо, это тлетворное влияние MSSQL такое.


При чем тут MSSQL?

C> Не помню, чтобы у меня когда-то вообще были проблемы с дедлоками.


У меня тоже не было. А на десктопе были?

НС>>В любом параллельном коде таких связей тонны.

C>Ты пишешь говнопараллельный код, значит.

У меня проблем нет, это у тебя проблемы на десктопе. Значит говнокод пишешь ты.
Re[11]: праандроидUI
От: Cyberax Марс  
Дата: 11.12.11 21:12
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>>Видимо, это тлетворное влияние MSSQL такое.

НС>При чем тут MSSQL?
Раз про дедлоки говоришь.

C>> Не помню, чтобы у меня когда-то вообще были проблемы с дедлоками.

НС>У меня тоже не было. А на десктопе были?
Были, когда интегрировал HTMLayout и SWING — у них две независимые очереди событий.

НС>>>В любом параллельном коде таких связей тонны.

C>>Ты пишешь говнопараллельный код, значит.
НС>У меня проблем нет, это у тебя проблемы на десктопе. Значит говнокод пишешь ты.
А так же авторы GUI-библиотек. И таки да — он очень непараллельный и непонятно как его нормально сделать таким.

В моём примере — как ты будешь делать так, чтобы код работал нормально без дедлоков?
Sapienti sat!
Re[12]: праандроидUI
От: Ночной Смотрящий Россия  
Дата: 12.12.11 19:30
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>>>Видимо, это тлетворное влияние MSSQL такое.

НС>>При чем тут MSSQL?
C>Раз про дедлоки говоришь.

Странная логика.

НС>>У меня проблем нет, это у тебя проблемы на десктопе. Значит говнокод пишешь ты.

C>А так же авторы GUI-библиотек. И таки да — он очень непараллельный и непонятно как его нормально сделать таким.
C>В моём примере — как ты будешь делать так, чтобы код работал нормально без дедлоков?

В твоем — без понятия.
Re[13]: праандроидUI
От: Cyberax Марс  
Дата: 12.12.11 19:33
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>>>У меня проблем нет, это у тебя проблемы на десктопе. Значит говнокод пишешь ты.

C>>А так же авторы GUI-библиотек. И таки да — он очень непараллельный и непонятно как его нормально сделать таким.
C>>В моём примере — как ты будешь делать так, чтобы код работал нормально без дедлоков?
НС>В твоем — без понятия.
Ну вот и все того же мнения.

Пока что многопоточность в GUI используется в очень ограниченных контекстах. В принципе, выполнение заранее подготовленной анимации, которая гарантировано не требует повторного рендеринга или каких-то других взаимодействий с основным потоком — это хороший пример. Но очень ограниченный.
Sapienti sat!
Re[14]: праандроидUI
От: Ночной Смотрящий Россия  
Дата: 12.12.11 19:45
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Пока что многопоточность в GUI используется в очень ограниченных контекстах.


Ну это у кого как. У меня в одном из проектов, к примеру, применяется очень активно. И ни одного дедлока, что характерно, за много лет и кучи кода, написанного не самыми квалифицированными прикладниками. Зато проблем с однопоточностью гуйных библиотек — хватает.

C> В принципе, выполнение заранее подготовленной анимации, которая гарантировано не требует повторного рендеринга или каких-то других взаимодействий с основным потоком — это хороший пример.


Анимация меня не особо волнует, мне куда больше интересна интеграция всяческих долгоиграющих процессов с UI без танцев с бубном вокруг однопоточного гуя.
Re[15]: праандроидUI
От: Cyberax Марс  
Дата: 12.12.11 19:56
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>> В принципе, выполнение заранее подготовленной анимации, которая гарантировано не требует повторного рендеринга или каких-то других взаимодействий с основным потоком — это хороший пример.

НС>Анимация меня не особо волнует, мне куда больше интересна интеграция всяческих долгоиграющих процессов с UI без танцев с бубном вокруг однопоточного гуя.
Так какие проблемы? Это задача решена сто лет назад уже. Просто постим в очередь GUI сообщений замыкания, обновляющие состояние GUI.
Sapienti sat!
Re[16]: праандроидUI
От: Ночной Смотрящий Россия  
Дата: 12.12.11 20:03
Оценка:
Здравствуйте, Cyberax, Вы писали:

НС>>Анимация меня не особо волнует, мне куда больше интересна интеграция всяческих долгоиграющих процессов с UI без танцев с бубном вокруг однопоточного гуя.

C>Так какие проблемы?

С синхронизацией проблемы.

C> Это задача решена сто лет назад уже.


Хорошо эта задача пока не решена. С релизом C#5 кое какие подвижки планируются, будем посмотреть. А пока куча дурного рукопашного кода.

C> Просто постим в очередь GUI сообщений замыкания, обновляющие состояние GUI.


Ага, и засираем этими постингами кучу кода.
Re[17]: праандроидUI
От: Cyberax Марс  
Дата: 12.12.11 20:14
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

C>> Это задача решена сто лет назад уже.

НС>Хорошо эта задача пока не решена. С релизом C#5 кое какие подвижки планируются, будем посмотреть. А пока куча дурного рукопашного кода.
Я в SWING уже сто лет делаю так:
SwingUtilities.invokeLater(new Runnable()
                            {
                                public void run()
                                {
                                    updateUIProgress();
                                }
                            })

В остальных GUI-фреймворках абсолютно аналогично.

C>> Просто постим в очередь GUI сообщений замыкания, обновляющие состояние GUI.

НС>Ага, и засираем этими постингами кучу кода.
С лямбдами? Оверхед в полстрочки.

В общем, придумываете что-то не то.
Sapienti sat!
Re: праандроидUI
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.12.11 20:28
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Блин, я же знад, что тормоза, которые я ощущаю в Андроиде, не являются воображаемыми:


M>http://habrahabr.ru/blogs/android_development/134172/


M>Android UI никогда не будет совершенно плавным из-за...


Купил тут себе HTC Desire S. Никаких тормозов. Все гладко, красиво и быстро.

Как мне воспроизвести тормоза на моем Desire S? Или услышать от тебя хотя бы раз в жизни фразу "Я был неправ."?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: праандроидUI
От: Cyberax Марс  
Дата: 13.12.11 22:03
Оценка:
Здравствуйте, VladD2, Вы писали:

M>>http://habrahabr.ru/blogs/android_development/134172/

M>>Android UI никогда не будет совершенно плавным из-за...
VD>Купил тут себе HTC Desire S. Никаких тормозов. Все гладко, красиво и быстро.
Не такая хорошая плавность по сравнению с iPhone'ом всё-таки заметна, если положить их рядом и нагрузить Android хорошей такой фоновой службой, жрущей процессор.

Впрочем, это не критично совершенно.
Sapienti sat!
Re[3]: праандроидUI
От: VladD2 Российская Империя www.nemerle.org
Дата: 14.12.11 02:48
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Не такая хорошая плавность по сравнению с iPhone'ом всё-таки заметна, если положить их рядом и нагрузить Android хорошей такой фоновой службой, жрущей процессор.


Меня то не надо уговаривать. У меня телефон в руках. А жрущие процессор службы мне как-то не нужны.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.