Re[65]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 05:07
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Там не Sciter а Windows начинает прикручивать частоту WM_PAINT — не успевает GDI часто рисовать.


I>>А есть возможность вывести время отрисовки одного фрейма и фпс ?


CS>Вот под спойлером текст примера (выводит FPS в window caption)


CS>Т.е. GDI чисто O(N), D2D — близко к O(1) (у меня два Dell P2715Q прицеплено на одну карту (192 ppi), может кол-во video memory влиять на больших размерах).


Ну вот и у меня такие же результаты — для d2d фпс не меняется и стоит на 62.5, но иногда почему то начинает прыгать. Пудозреваю, это винда или JavaScript, а не собственно сама отрисовка.

Для GDI было 50 30 16, почти линейная. Пудозреваю, если точно четверть выставить, будет близко к 60.
Re[66]: Еще
От: c-smile Канада http://terrainformatica.com
Дата: 23.06.17 05:43
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, c-smile, Вы писали:


CS>>GDI:

CC>GDI вариант sciter уж очень сурово тормозной в сравнении с тем что GDI может.

В приведенном тесте запрашивается отрисовка всего окна со 100 FPS. Но вот не успевает.

Можешь запустить sdk/bin/skia32/sciter.exe — это Skia/OpenGL. Там вообще 100 FPS (задается в Sciter) будет ибо Windows не ограничивает частоту OpenGL swap buffers.
Re[68]: Еще
От: c-smile Канада http://terrainformatica.com
Дата: 23.06.17 05:44
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Здравствуйте, c-smile, Вы писали:


CC>>>Пасиба, скрещу этот скрипт с таблицей и посмотрю.

CS>>Уже: http://rsdn.org/forum/flame.comp/6819606.1
Автор: c-smile
Дата: 22.06.17


CC>Я предпочитаю все эксперименты проводить самостоятельно.


Это про "скрещу этот скрипт с таблицей и посмотрю" — там код приведен.
Re[67]: Еще
От: vdimas Россия  
Дата: 23.06.17 07:52
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Можешь запустить sdk/bin/skia32/sciter.exe — это Skia/OpenGL. Там вообще 100 FPS (задается в Sciter) будет ибо Windows не ограничивает частоту OpenGL swap buffers.


А как ты себе представляешь такое ограничение частоты?

Windows предоставляет ср-ва синхронизации этой операции с разверткой. Вот этот момент я хорошо представляю как сделать...
Re[66]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 07:59
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CS>>GDI:

CC>GDI вариант sciter уж очень сурово тормозной в сравнении с тем что GDI может.

В скитере GDI+, обычный GDI так не умеет.
Re[65]: Еще
От: vdimas Россия  
Дата: 23.06.17 08:03
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>WM_PAINT в Windows UI приходит 60 раз в секунду макс.


64 раза. Таково разрешение системного таймера по-умолчанию.
Но эту величину можно настраивать, например, поднять до 1000 раз в сек.


CS>Чаще и не надо — только батарею садить.


Это если м/у прорисовками получаем инвалидацию окна или явно вызываем RefreshWindow, SwapBuffers и т.д.
Re[68]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 08:05
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>>>Пасиба, скрещу этот скрипт с таблицей и посмотрю.

CS>>Уже: http://rsdn.org/forum/flame.comp/6819606.1
Автор: c-smile
Дата: 22.06.17


CC>Я предпочитаю все эксперименты проводить самостоятельно.


Результаты на Win 2008 R2 никого не интересуют, кроме тебя одного. Во первых, это древняя ось, ей без малого 10 лет. Во вторых это серверная хрень.
Что и видим — на версиях, которые в сумме 90% рынка твои результаты не подтверждаются ничем, кроме твоих слов
Re[66]: Еще
От: CreatorCray  
Дата: 23.06.17 08:24
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Ну вот и у меня такие же результаты — для d2d фпс не меняется и стоит на 62.5, но иногда почему то начинает прыгать. Пудозреваю, это винда или JavaScript, а не собственно сама отрисовка.

Я на маке ради интереса попробовал, на работе винды с HW под рукой нету.
Так там в OGL sciter.app показывал таки чем бОльший размер окна тем меньший FPS.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[67]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 09:29
Оценка:
+Здравствуйте, CreatorCray, Вы писали:

I>>Ну вот и у меня такие же результаты — для d2d фпс не меняется и стоит на 62.5, но иногда почему то начинает прыгать. Пудозреваю, это винда или JavaScript, а не собственно сама отрисовка.

CC>Я на маке ради интереса попробовал, на работе винды с HW под рукой нету.
CC>Так там в OGL sciter.app показывал таки чем бОльший размер окна тем меньший FPS.

Правильно, так и должно быть. Теперь вопрос с загрузкой CPU. В моём случае загрузка CPU
1 слабая
2 слабо меняется.
3 разница между GDI+ и D2D относительно небольшая. Непонятно как интерпретировать 12% и 9%, или 6 и 12% Вот если бы было 90% и 60%, тогда все ясно.

Теперь сравнивая количество фпс у GDI+ и D2D видим, что происходит — у GDI+ фпс низкий и деградирует с увеличением разрешения.

У меня у D2D все время 62.5 фпс. Это следствие того, что винда или скитер ограничивает фпс до 60, а моя карточка выдаёт гораздо больший фпс. Реально можно ожидать около 100 или близко к этому.
Я не тестировал OpenGL версию, там скорее всего будет примерно та же линейная зависимость.

Итого, фактическая разница — D2D кроет GDI+ как бык овцу. При сравнимой загрузке CPU ФПС у D2D несравнимо выше.

На счет зависимости загрузки CPU от количества пикселей — непонятно, надо проверять на разном железе и системах. Пудозреваю, твой случай вырожденный, в реальном мире его в микроскоп не увидишь и скорее всего причиной является какой нибудь баг, а не особенность D2D.
Re[37]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 09:31
Оценка:
Здравствуйте, vdimas, Вы писали:

V>>>Только double-buffer теперь один на окно, и всё окно получается — один битмап.

I>>Ужос, и почему в последнем офисе всё не так ? Скажем, тулбар, сделан по всем правилам тулбаров из девяностых.

V>Плохо ты помнишь тулбары из 90-х, судя по всему.


Зачем помнить, если можно взять да открыть старую софтину ? Ты не путаешь случаем риббон с тулбаром ?
Re[21]: Что на самом деле произошло с Windows Vista
От: vdimas Россия  
Дата: 23.06.17 09:40
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Но если заморачиваться с AST то почему бы не взять тогда сразу сурсы и использовать готовые компиляторы?


Сурсы могут иметь слишком много зависимостей. К тому же, могут быть написаны на многих языках. И на многих версиях стандартов этих языков. И сам процесс билда может быть весьма не тривиальный, а стандарта де-факто для билда исходников на сегодня нет.

В общем, сущность "объектный файл" — вполне себе устоявшийся артефакт компиляции, зачем придумывать что-то еще.
Отредактировано 23.06.2017 9:42 vdimas . Предыдущая версия .
Re[67]: Еще
От: CreatorCray  
Дата: 23.06.17 10:05
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Можешь запустить sdk/bin/skia32/sciter.exe — это Skia/OpenGL.

А там точно честный OGL? Потому как оно у меня на полном экране показывает 8+ FPS, тогда как тот же D2D — 40+.

Там вообще 100 FPS (задается в Sciter) будет ибо Windows не ограничивает частоту OpenGL swap buffers.
Ээээ. Оно мне выше 60 даже на пустом окне с единственной кнопкой не показывает. При этом в окошке да, пишет что skia-opengl

Что то я начинаю думать что что то странное имеется где то в самом sciter, потому что уж OGL тормоза на серверную версию винды спихнуть нельзя — он зависит строго от видеодров и работал всегда и на всём да и другие OGLные проги фигачат только шуба заворачивается.
Дрова спецом токашо обновил, игры бегают на ура.

Не знаю с чем ещё сравнить, вот например в браузере на полном экране вот этот тест https://people-mozilla.org/~jmuizelaar/fishie/fishie-fast.html рисует 60K рыб и стабильно держит 60FPS.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[67]: Еще
От: CreatorCray  
Дата: 23.06.17 10:05
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>В скитере GDI+, обычный GDI так не умеет.

А, это много объясняет. GDI+ всегда был тормозом просто пц.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[69]: Еще
От: CreatorCray  
Дата: 23.06.17 10:05
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Это про "скрещу этот скрипт с таблицей и посмотрю" — там код приведен.


У меня проблема со временем, мне тут щес надо собраться и умотать в земли израильские, по работе. Перед этим решив ещё кучку домашних дел.
Чтоб полноценно сделать тест со всех сторон надо положить час-два.

Кстати запустил сёння sciter.app маковский. Тоже на OGL, но чота у него тоже была видна корелляция FPS от размера окна, хотя и железо было весьма beefy.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[69]: Еще
От: CreatorCray  
Дата: 23.06.17 10:05
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Результаты на Win 2008 R2 никого не интересуют, кроме тебя одного.

Твоё же мнение на этот счёт интересует очень многих, угу.
У тебя еда в других темах кончилась что ли?

I>Что и видим — на версиях, которые в сумме 90% рынка твои результаты не подтверждаются ничем, кроме твоих слов

Всё бы хорошо, но я сегодя запустил интересу ради Sciter на маке и там тоже 60 FPS в окошке в треть экрана наблюдалось а на полном экране прилично просаживалось.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[68]: Еще
От: CreatorCray  
Дата: 23.06.17 10:23
Оценка:
Здравствуйте, Ikemefula, Вы писали:

CC>>Так там в OGL sciter.app показывал таки чем бОльший размер окна тем меньший FPS.

I>Правильно, так и должно быть.
Неправильно. OGL accelerated граифка на такой простой сцене не должна в fillrate упираться.

Пойди сюда: https://people-mozilla.org/~jmuizelaar/fishie/fishie-fast.html
Разверни браузер на весь экран и выбери 60000.

I>Теперь сравнивая количество фпс у GDI+ и D2D видим

Их вообще нет смысла сравнивать. GDI+ всегда был мегатормоз.

I>У меня у D2D все время 62.5 фпс. Это следствие того, что винда или скитер ограничивает фпс до 60, а моя карточка выдаёт гораздо больший фпс. Реально можно ожидать около 100 или близко к этому.


I>Я не тестировал OpenGL версию, там скорее всего будет примерно та же линейная зависимость.

Да вот что то она у меня хуже чем D2D показала. На уровне WARP, но лучше GDI. При этом карточка используется но еле нагружается.
Вижу что юзается nvogl32.dll, но дохрена жрётся CPU вот в таком стеке:

sciter.dll!SciterAPI+0x301a69
sciter.dll!udata_openSwapperForInputData_57+0x3d249
sciter.dll!SciterAPI+0x301a69
sciter.dll!udata_openSwapperForInputData_57+0x3d249
sciter.dll!SciterAPI+0x238998
sciter.dll!SciterAPI+0x23a637
sciter.dll!SciterAPI+0x1fcf7a
sciter.dll!SciterAPI+0x3250c3
sciter.dll!SciterAPI+0x31b834
sciter.dll!SciterAPI+0x16377
sciter.dll!SciterAPI+0x1eaac
sciter.dll+0x141a3
sciter.exe+0x9aff
sciter.exe+0x86f6
USER32.dll!gapfnScSendMessage+0x332
USER32.dll!GetThreadDesktop+0xd7
USER32.dll!GetClientRect+0xc5
USER32.dll!CallWindowProcW+0x1b
USER32.dll!gapfnScSendMessage+0x332
USER32.dll!GetDC+0x52
USER32.dll!GetThreadDesktop+0x185
USER32.dll!GetThreadDesktop+0x1e1
ntdll.dll!KiUserCallbackDispatcher+0x2e
USER32.dll!DispatchMessageW+0xf
sciter.exe+0x7747
sciter.exe+0xaa67

Ээээ. Что то похоже что FPS мерялка как раз и вызывает тормоза проходя через messaging loop.

I>Итого, фактическая разница — D2D кроет GDI+ как бык овцу.

GDI+ победить — невелика честь. Его обычный GDI побеждает.

I>На счет зависимости загрузки CPU от количества пикселей — непонятно, надо проверять на разном железе и системах.

Это говорит о том, что где то есть баг.

I>Пудозреваю, твой случай вырожденный, в реальном мире его в микроскоп не увидишь и скорее всего причиной является какой нибудь баг, а не особенность D2D.

Причём баг скорее всего sciter-а, потому как D2D accelerated Firefox во всяких 2D тестах показывает приличный FPS.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[68]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 11:10
Оценка:
Здравствуйте, CreatorCray, Вы писали:

I>>В скитере GDI+, обычный GDI так не умеет.

CC>А, это много объясняет. GDI+ всегда был тормозом просто пц.

Ну, не пц, а очень даже неплох относительно того же wpf с аппаратным "ускорением".
Re[70]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 11:11
Оценка:
Здравствуйте, CreatorCray, Вы писали:

I>>Что и видим — на версиях, которые в сумме 90% рынка твои результаты не подтверждаются ничем, кроме твоих слов

CC>Всё бы хорошо, но я сегодя запустил интересу ради Sciter на маке и там тоже 60 FPS в окошке в треть экрана наблюдалось а на полном экране прилично просаживалось.

Приведи все данные, что надо — cpu, разрешение и тд и тд. Непонятно, как проверить твои высказывания.
Re[69]: Еще
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 23.06.17 11:16
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>>>Так там в OGL sciter.app показывал таки чем бОльший размер окна тем меньший FPS.

I>>Правильно, так и должно быть.
CC>Неправильно. OGL accelerated граифка на такой простой сцене не должна в fillrate упираться.

Это слишком оптимистичное заявление.

I>>Теперь сравнивая количество фпс у GDI+ и D2D видим

CC>Их вообще нет смысла сравнивать. GDI+ всегда был мегатормоз.

И что же ты вчера не стеснялся это делать ?

CC>Вижу что юзается nvogl32.dll, но дохрена жрётся CPU вот в таком стеке:


CC>Ээээ. Что то похоже что FPS мерялка как раз и вызывает тормоза проходя через messaging loop.


То есть, тормоза из за джаваскрипта ? Гы-гы.

I>>Итого, фактическая разница — D2D кроет GDI+ как бык овцу.

CC>GDI+ победить — невелика честь. Его обычный GDI побеждает.

Разумеется. GDI+ сделан поверх GDI.

I>>Пудозреваю, твой случай вырожденный, в реальном мире его в микроскоп не увидишь и скорее всего причиной является какой нибудь баг, а не особенность D2D.

CC>Причём баг скорее всего sciter-а, потому как D2D accelerated Firefox во всяких 2D тестах показывает приличный FPS.

То есть, ты снова берешь назад свои слова ?
Re[38]: Еще
От: Evgeniy Skvortsov Россия  
Дата: 23.06.17 12:30
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Зачем помнить, если можно взять да открыть старую софтину ? Ты не путаешь случаем риббон с тулбаром ?


Имеется ввиду, что раньше тулбар это было одно окно и каждая кнопка в нем то же была отдельным окном.
Когда только появился рибон я хз как в нем дела обстояли с кнопками, но сейчас внутри отдельных окон нет
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.