Ignat
ну там чёт в основном, как утверждается, какие-то краши фиксятся
Ignat
сходу понять, кто в них виноват, не представляется возможным
Egor
Не только краши, как отвечают в issue, основная беда — нельзя сделать так, чтобы сотни тысяч сообщений в диалоге можно было отобразить без тормозов и с возможностью прокрутки и изменения размера окна. Ну и какие-то вещи backport'ят из будущих версий:
https://github.com/telegramdesktop/tdesktop/issues/1815#issuecomment-353521948
Ignat
+ // Patch: Optimize redraw - don't clear image if it will be fully redrawn.
ПЕРФОРМАНС, опять же
Anatoly
Stanislav
Stanislav
обещали фикс в 5.0 утащить
Stanislav
https://bugreports.qt.io/browse/QTCREATORBUG-19420
Stanislav
Anatoly
Anatoly
Stanislav
хреново
Stanislav
https://github.com/qt-creator/qt-creator/commit/7a2e1e29cb38b339780938a3e582110e566b5631
Stanislav
о, наконец та
Stanislav
не помогает
но с кланговской моделью должно помочь
Anatoly
Stanislav
что ты имеешь ввиду?
Clang Code Model: Error: The clangbackend process has finished unexpectedly and was restarted.
вот это лечится
Stanislav
просто возьми libclang.dll из 6.0 и положи в папку креатора
Anatoly
https://bugreports.qt.io/browse/QTCREATORBUG-19592
@crackedmind спасибо большое!!! Стас помог решить вопрос:
- установить llvm 6.0.0 http://prereleases.llvm.org/win-snapshots/LLVM-6.0.0-r320423-win32.exe
- указать в качестве статического анализатора вновь установленный
- cкопировать libclang.dll из 6.0.0 в папку Qt\Tools\QtCreator\bin
Stanislav
Anatoly
Оно и в динамическмй умеет, с относительно "недавнего" времени
не знал, ты имеешь ввиду он каким-то образом анализирует и LoadLibrary? под статическим анализом я имел ввиду, что нельзя отследить run-time загрузку dll через LoadLibrary, что в этом случае только в run-time можно получить список реально загруженных библиотек и привел ниже функции, как это сделать.
🦥Alex Fails
Anatoly
Vitaliy ◀️TriΔng3l▶️
http://ourmachinery.com/post/minimalist-container-library-in-c-part-1/ 😻
Alexander
а какой либой сейчас в c/c++ сейчас быстро сериализовать в json???
Alexander "SonnySlave"
Alexander
Alexander "SonnySlave"
Alexander "SonnySlave"
аха
Alexander
всм без *.cpp
Alexander "SonnySlave"
Alexander "SonnySlave"
ну вот нравится им не трахаться с компиляциекй своей либы
Thorn
если там одни шаблоны, то по-другому никак
Alexander
Thorn
в документации к компилятору написано: Two-phase name binding in templates, as described in [tesp.res] and [temp.dep] of the standard, is not implemented.. Что это значит с практической точки зрения?
Stanislav
Thorn
TI C28x
Stanislav
https://blogs.msdn.microsoft.com/vcblog/2017/09/11/two-phase-name-lookup-support-comes-to-msvc/
пункт What is “two-phase name lookup”?
Alexander "SonnySlave"
TI C28x
ой, а что это такое?
Alexander "SonnySlave"
Thorn
т. е. в MSVC до сих пор то же самое?
Alexander "SonnySlave"
Stanislav
Implementing two-phase name lookup required fundamental changes in MSVC’s architecture. The biggest change was to write a new recursive descent parser to replace the YACC-based parser that we’ve used for over 35 years.
Stanislav
в превью?
эм, отдельной опцией с 15.3 включается
Alexander "SonnySlave"
не прошло и 40 лет 😊
Thorn
TI C28x
кстати, пример компилятора, который до сих пор С++03 и С98, и авторы даже не шевелятся по поводу свежих стандартов. спасибо хоть, что не требуют за лицензию $6000
Thorn
Stanislav
@zamazan4ik если ты пропустил то вот тебе еще
Stanislav
https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/
Alexander "SonnySlave"
Berkus
Alexander
Thorn
в хорошем gui toolkit'е такой список уже должен быть (типа RecyclerView в андроиде)
Anatoly
Anatoly
В qt надо не view виртуализировать, а модель.
Alexander
+ возможно нет смысла в памяти сотни тысяч сообщений держать, можно выгружать и подгружать по мере необходимости...
Anatoly
Alexander
Alexander
Rapidjson хорошая штука, мы уже 3 года юзаем. Единственное там варнинги есть при сборке
Anatoly
У меня где-то в локальном архиве есть вьевер фотогалереи с параллельной загрузкой фото, так там буфер определялся тремя страницами просмотра и вообще скролился без задержек и консьюмил фиксированный размер память. Эмулировал при тестировании 10000 фото
Thorn
я вспоминаю этот страшный ужас, мне надо было checkbox (не кликабельный) нарисовать в ячейке грида, нашел пример, где создают QCheckBox и говорят ей "нарисуйся по таким-то координатам вот в этот QPaintDevice"
Anatoly
Thorn
(а если надо было кликабельный, то еще и клики вручную фильтровать по координатам и проксировать в этот чекбокс)
Thorn
короче, восход солнца вручную
Anatoly
Но здесь не qt виноват, ты просто не до конца разобрался в вопросе.
Thorn
в андроиде почему-то ничего подобного не нужно, а виртуальные списки и гриды есть, и число одновременно существующих View'ов ограничивается, и они даже не пересоздаются
Thorn
надеюсь, разобраться не будет означать написать все это почти с нуля
Anatoly
Anton
Не даром первые авторы qt звались тролль тех )
Berkus