Здравствуйте, CreatorCray, Вы писали:
CS>>OS? CC>Дык написано жеж! CC>
CC>>OC: Win 2008 R2 x64
Извиняюсь, не увидел. См. мой ответ выше тогда.
CC>>>Sciter как то со щрифтами плохо умеет работать. Потому как срать оно хотело на CSS font-family и font-size. Вывернулся через <font> но в px оно размер не понимает, да и в целом какой то пц рисует если <font> поставить повыше. CS>>Ну не обманывай. CC>Слющай да, я может и не умею его готовить но протрахался минут 20 пихая font-family везде где только можно с нулевым эффектом. Потом когда через <font face="Arial"> завелось пытался задать размеры и тоже как то фигня получалась. CC>Даже когда подгонкой получил что то похожее тот щрифт что он рисует ну никак на Arial не похож который я вижу даже в том же charmap.
Я не знаю с чем ты "протрахался" и зачем но вот
td { font-family: Arial, sans-serif; font-size: 10px; }
CS>>Ты можешь показать screenshot sciter окна по умолчанию — как он появляется после запуска. Интересует backend и OS. CC>Это что ли?
Спасибо. Ты знаешь что в Classic Mode hardware acceleration не поддерживается? Т.е. Direct2D работает в WARP режиме — а это чисто CPU rendering.
Т.е. мы обсуждаем GPU acceleration, а ты проводишь тесты на выключенном GPU. Что ты хочешь продемонстрировать?
Здравствуйте, c-smile, Вы писали:
CS>Я не знаю desktop OS по имени Windows 2008.
Хм, весь интернет уже скоро 10 лет как знает.
Google, не? И не 2008 а 2008 R2, это разные поколения, не перепутай.
CS>На всём что ниже Windows 7 Sciter по умолчанию использует GDI+ т.е. чистый CPU rendering по определению.
Там ж есть отдельный батник в комплекте, чтоб принудительно включить GDI рендерер. Пробовал, производительность в таком режиме становится в разы хуже.
CS>Да, потому что он зачем-то проводит тесты на server OS которая не использует display hardware acceleration.
Уууу, похоже тебе многое предстоит узнать о Windows Server.
Например то, что 2008 R2 таки использует HW acceleration, и вообще функционально от W7 в этом плане крайне мало чем отличается. Разве что все свистопердельные чекбоксы по умолчанию сняты, впрочем поставить их обратно минутное дело даже не читая все те мануалы, которыми инет просто кишит.
CS>В чем смысл таких тестов в свете обсуждаемых проблем? Подогнать результаты?
Это ты вот щас с очень интересной стороны раскрылся.
Такой степени неосведомлённости от человека, который тематикой вроде как бы плотно занимается я совершенно не ожидал. Но это как бы ладно, бывает.
Но вот когда ты на основании собственного невежества сходу стал обвинять в подлоге — это был высший пилотаж! "Так не бывает", "вывсёврёти" и голова в песок.
Молодец, чо!
Вот и что можно после такого феерического выступления дальше серьёзно обсуждать?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, c-smile, Вы писали:
CS>td { font-family: Arial, sans-serif; font-size: 10px; }
Я так уже делал, но по какой то причине получался странный результат, как будто px игнорировалось, потому как шрифт становился конских размеров. Может я где очепятался а потом с очепяткой копипастил в другие места, оно ж ошибки парсера не пишет никуда. Вообще странно что никакого лога нету.
Попробую попозже.
CS>Ты знаешь что в Classic Mode hardware acceleration не поддерживается?
И с какого это перепугу оно не поддерживается? Всегда поддерживалось а сегодня внезапно перестало?
Я на этой машине играю во всё подряд, последний Prey например летает шопуля.
Мне выходит надо выбросить свой GTX бо старенький i5 оказывается фигачит ого-го! Справляется так, что никакое HW acceleration не нужно.
CS> Т.е. Direct2D работает в WARP режиме — а это чисто CPU rendering.
Ну конечно же! А ProceXP показывает что GPU загружен когда sciter работает просто так, за компанию, да?
CS>Т.е. мы обсуждаем GPU acceleration, а ты проводишь тесты на выключенном GPU. Что ты хочешь продемонстрировать?
Похоже я случайно продемонстрировал серьёзный пробел в твоём восприятии мира.
Попробуй ещё раз.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CS>>Ты знаешь что в Classic Mode hardware acceleration не поддерживается? CC>И с какого это перепугу оно не поддерживается? Всегда поддерживалось а сегодня внезапно перестало?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, c-smile, Вы писали:
CS>>Я не знаю desktop OS по имени Windows 2008. CC>Хм, весь интернет уже скоро 10 лет как знает. CC>Google, не? И не 2008 а 2008 R2, это разные поколения, не перепутай.
Извиняюсь. Не обратил внимания. Это какой-то странный тренд в пост-СССР использовать серверные ОС для desktop.
И еще при этом ожидать какого-то быстродействия от UI. Они ж для строго наоборот сделаны...
В Америке никто про эти ОС на desktop никто и не знает ничего.
CS>>На всём что ниже Windows 7 Sciter по умолчанию использует GDI+ т.е. чистый CPU rendering по определению. CC>Там ж есть отдельный батник в комплекте, чтоб принудительно включить GDI рендерер. Пробовал, производительность в таком режиме становится в разы хуже.
Да, я увидел.
CS>>Да, потому что он зачем-то проводит тесты на server OS которая не использует display hardware acceleration. CC>Уууу, похоже тебе многое предстоит узнать о Windows Server. CC>Например то, что 2008 R2 таки использует HW acceleration, и вообще функционально от W7 в этом плане крайне мало чем отличается. Разве что все свистопердельные чекбоксы по умолчанию сняты, впрочем поставить их обратно минутное дело даже не читая все те мануалы, которыми инет просто кишит.
Classic и Basic themes не используют GPU acceleration. Не запускают DWM по определению. DWM (aero,compiz и все такое) это GPU acceleration.
CS>>В чем смысл таких тестов в свете обсуждаемых проблем? Подогнать результаты? CC>Это ты вот щас с очень интересной стороны раскрылся. CC>Такой степени неосведомлённости от человека, который тематикой вроде как бы плотно занимается я совершенно не ожидал. Но это как бы ладно, бывает. CC>Но вот когда ты на основании собственного невежества сходу стал обвинять в подлоге — это был высший пилотаж! "Так не бывает", "вывсёврёти" и голова в песок. CC>Молодец, чо!
CC>Вот и что можно после такого феерического выступления дальше серьёзно обсуждать?
Это называется "с больной головы на здоровую"
Я, говорит, возьму щаз server OS с эмуляцией графики ибо на сервере display card может вообще не быть и буду тебе показывать чудеса быстродействия графики ... артист.
Да там вообще все заточено на RDP доступ к её desktop. Какая нафиг там scroll animation?
?
CS>>В DWM весь desktop это DirectX surface. CS>>В Classic и Basic modes DirectX не используются — фактически это голый GDI причем даже хуже чем в XP. CC>Какое отношение это имеет к прямому использованию программой Direct2D?
Да потому что Direct2D рисует напрямую в DirectX если работает DWM (которая есть DirectX среда).
Без DWM Direct2D использует WARP — CPU rasterization. Т.е. ожидать чудес не следует.
Здравствуйте, c-smile, Вы писали:
CS>Извиняюсь. Не обратил внимания. Это какой-то странный тренд в пост-СССР
Если бы почитал гугл то понял бы что это везде а не только в exUSSR.
CS>И еще при этом ожидать какого-то быстродействия от UI. Они ж для строго наоборот сделаны...
UI для них никто специальный не делает, он точно такой же как у юзерской винды.
CS>В Америке никто про эти ОС на desktop никто и не знает ничего.
Ага, конечно! Ты ещё мне об этом сказок порассказывай.
CS>Classic и Basic themes не используют GPU acceleration.
Какое отношение это имеет к Direct2D?
Жаль в новых dxdiag не дают возможности отключить GPU acceleration, тогда можно было бы посмотреть на настоящий SW rendering.
CS> Не запускают DWM по определению. DWM (aero,compiz и все такое) это GPU acceleration.
Ты сам то тесты на производительность проводил, или поверил интернетным ыкспертам?
CS>Я, говорит, возьму щаз server OS с эмуляцией графики ибо на сервере display card может вообще не быть и буду тебе показывать чудеса быстродействия графики ... артист.
Вот мне не понятно какой смысл упорствовать после того, как тебя потыкали в факты?
А факты таковы, что sciter с прямым доступом к Direct2D рендерит как бы не медленее "GDI, который не использует GPU acceleration".
Я примерно представляю почему: отрендерить такое колво мелких примитивов — та ещё задача. Там поди по паре сотен примитивов на букву D2Dой генерится.
Или ты хочешь сказать что D2D для sciter работает на софте но при этом жрёт ресурсы физического GPU?
CS>Да там вообще все заточено на RDP доступ к её desktop.
RDP вообще то свой видеодрайвер в сессию грузит.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, c-smile, Вы писали:
CS>Этого достаточно: CS>
CS>GDI is hardware accelerated on Windows XP, and accelerated on Windows 7 when the Desktop Window Manager is running and a WDDM 1.1 driver is in use.
CS>https://msdn.microsoft.com/en-us/library/windows/desktop/ff729480(v=vs.85).aspx
В реале же наблюдается несколько другое.
Всё что DWM делает в W7 это композиция десктопа, прозрачные окошки и прочая мишура. Он работает с готовым окном и его контентом. Как туда этот контент нарисовали его не колышет и колыхать не может.
На акселерацию же самого GDI он по факту никакого влияния не оказывает, просто потому что DWM в GDI path отсутствует.
GDI rendering in Windows 7
... GDI was changed again in Windows 7. Instead of rendering to a system memory surface, GDI was modified to render to an aperture memory segment. The aperture memory can be updated from the video memory surface holding the window contents. GDI can render back to the aperture memory, and the result can then be sent back to the window surface. Since the aperture memory segment is addressable by the GPU, the GPU can accelerate these updates to the video memory surface. For example, text rendering, BitBlts, AlphaBlend, TransparentBlt, and StretchBlt are all accelerated in these cases.
В чём я кстати экспериментально убедился в своё время, когда только писал свой код. Всё проверялось экспериментально.
Действительно, эти операции accelerated. На W2008 R2, с classic темой. Включение DWM же не оказало никакого заметного эффекта.
CS>Да потому что Direct2D рисует напрямую в DirectX если работает DWM (которая есть DirectX среда).
Хватит цепляться за эту соломинку. DWM не имеет и никогда не имел никакого отношения к тому, как DX работает с железом. Всё что он делает — композицию окошек с эффектами. Само по себе это требует HW потому что тот же glass эффект на софте тормозил нещадно.
CS>Без DWM Direct2D использует WARP — CPU rasterization. Т.е. ожидать чудес не следует.
Начнём с того что сам по себе он его использовать не станет — надо просить explicitly.
Кроме того как мы только что наблюдали на практике:
1. Жрёт 1 ядро проца, 25% GPU + аллоцирует GPU memory
2. В процессе есть только
d2d1.dll
d3d11.dll
dwrite.dll
Если же запустить sciter в warp режиме:
1. Полностью жрёт 2 ядра проца, совсем не жрёт ничего из GPU и не аллоцирует там память.
2. В процесс загружены
d2d1.dll d3d10warp.dll
d3d11.dll
dwrite.dll
Выходит что нет, не нужен DWM для того чтобы Direct2D работал на железе.
Так что перестань уже юлить, то, что ты не разбираешься в вопросе мы уже выяснили.
Давай уже вернёмся к оригинальному топику.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CS>>Этого достаточно: CS>>
CS>>GDI is hardware accelerated on Windows XP, and accelerated on Windows 7 when the Desktop Window Manager is running and a WDDM 1.1 driver is in use.
Здравствуйте, c-smile, Вы писали:
CS>Ну тебе виднее.
Разумеется виднее. С цифрами результатов экспериментов то.
Неужто ты впервые видишь что в документации (старой кстати) написано одно а актуальный код ведёт себя совсем иначе?
Скажи лучше как в твоём sciter включить FPS counter или ещё какие performance stats получить?
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, c-smile, Вы писали:
CS>>Ну тебе виднее.
CC>Разумеется виднее. С цифрами результатов экспериментов то.
Да что ж твориться-то на RSDN ... Киборги заполонили... Одному Фень Юань не авторитет, другому в MSDN враги пишут...
CC>Неужто ты впервые видишь что в документации (старой кстати) написано одно а актуальный код ведёт себя совсем иначе?
С верующими людьми не спорю ...
Но как-то MSDN до сих пор в особых грехах не был замечен... Дело твое.
CC>Скажи лучше как в твоём sciter включить FPS counter или ещё какие performance stats получить?
WM_PAINT в Windows UI приходит 60 раз в секунду макс. поэтому FPS ограничен числом 60. Чаще и не надо — только батарею садить.
Вот тебе код:
<html>
<head>
<title>Test</title>
<script type="text/tiscript">
function self.ready() {
var pticks = System.ticks;
var series = [100];
var n = 0;
// using paintBackground to catch moment of drawing
self.paintBackground = function(gfx) {
var ticks = System.ticks;
series.unshift(ticks - pticks);
pticks = ticks;
if( series.length > 32 )
series.length = 32; // but not more than 32
}
// forcing view to be drawn with WM_PAINT frequency
self.animate( function()
{
self.refresh();
if( ++n % 16 == 0 ) {
var averageDelta = series.reduce(:a, b: a + b ) / series.length;
view.windowCaption = String.$(FPS:{ 1000.0 / averageDelta });
}
return true; // keep animating
});
}
</script>
</head>
<body>
</body>
</html>
Он заставляет окно перерисовываться с максимальной частотой и выводит частоту перерисовки в window caption.
Ты должен увидеть 60 +/- лапоть.
Здравствуйте, CreatorCray, Вы писали:
I>>Поделись, откуда такая оценка что долго работать будет? CC>С потолка вестимо. Предположение что бОльший объём работы будет выполняться дольше.
Вот и проверь на досуге.
I>> Просекаешь, за счет чего прогресс произошел ? CC>В первую очередь за счёт увеличения объёма оперативки которая пошла под дисковый кэш. Потом уже SSD, который больше важен при первом запуске, чтобы подсосать все данные в кэш.
OMG! Вижла под проект создаёт гигантскую базу данных, размер которой превосходит все твои запасы оперативы.
Здравствуйте, c-smile, Вы писали:
CS>Извиняюсь. Не обратил внимания. Это какой-то странный тренд в пост-СССР использовать серверные ОС для desktop. CS>И еще при этом ожидать какого-то быстродействия от UI. Они ж для строго наоборот сделаны...
Сравнение некорректное. "генерация html джаваскриптом" и "примитивный рендеринг". В твоём случае рендеринг на общем фоне даже не будет заметен. Я загрузил твой пример на древней и хилой видюхе в gdi режиме скроллинг внятный, только первый раз подлагивает, потом всё само крутится.
В любом случае рендеринг html с простым тестом не сравнится по перформансу, так что сильно вряд ли ты свои идеи продемонстрируешь скитером.
Здравствуйте, c-smile, Вы писали:
CS>Мы не про это. А про всякие мифы на тему "GDI hardware accelerated" и "DDB это видео память" расцветающими махровым цветом в неокрепших умах.
А откуда ты почерпнул такую свою убеждённость?
Ведь любая инфа от производителя картеек и дров, которая только вообще могла быть доступна в те времена, говорила ровно об обратном.
Мне действительно любопытно, какие такие железобетонные источники инфы у тебя были, что так смело отрицаешь целый пласт знаний из тех лет?
A user invokes an application program and initiates a request to display an image on a display device. In response, a display device driver creates a bitmap in an offscreen video memory of an adapter card. The display device driver then writes data corresponding to the requested image to the bitmap. At an appropriate time, the display device driver copies the bitmap from the offscreen video memory to an onscreen video memory of the adapter card over an adapter bus. The requested image is then displayed on the display device using the bitmap stored in the onscreen video memory.
Дата публикации 10 янв 1995
Первоначальный патентообладатель Microsoft Corporation
One approach to reduce flickering is to employ font caching in the graphics driver. With this technique, a graphics driver caches copies of displayed characters in a portion of screen memory that is not visible on the display.
...
In accordance with the invention, a method and apparatus for creating a bitmap such as a text bitmap in memory and transferring the bitmap to a graphics device is disclosed.
Здравствуйте, c-smile, Вы писали:
CS>"bitmaps in off-screen memory" это и есть "картинки в памяти".
off-screen memory — это "не отображаемая на дисплее".
Чаще полная фраза звучит так: "off-screen device memory", например как в этой доке: Bitmaps in Display Drivers
CS>а "by drawing bitmaps using hardware" это и есть как я понимаю BitBlt ускоренный ... CS>О чём ты вообще?
Наверно об этом:
Drivers should implement device bitmaps in off-screen memory through DrvCreateDeviceBitmap.
If the driver creates the bitmap, it can store it anywhere and in any format. It is assumed that the driver will take into account the specifications of the parameters and provide a bitmap with at least as many bits per pixel as requested.
Вызов CreateCompatibleBitmap идет прямиком в дисплей-драйвер под именем DrvCreateDeviceBitmap. Это дает возможность драйверу создать битмап прямо в видеопамяти, что значительно ускоряет последующую работу с ним.
Здравствуйте, c-smile, Вы писали:
CS>Забей, не нужны мне те примеры. То что драйвера могут у себя внутри использовать фрагменты видео памяти для своих нужд, понятно. CS>Т.е. то что известно как texture. Но к GDI это не имеет отношения напрямую.
DrvDeriveSurface function derives a GDI surface from the specified DirectDraw surface.
...
DrvDeriveSurface returns a handle to the derived GDI surface upon success.
It returns NULL if the call fails or if the driver cannot accelerate GDI drawing to the specified DirectDraw surface.
Т.е., когда мы удачно получаем HDC для поверхности DirectDraw, то драйвер нам гарантирует ускорение GDI-функций над этой поверхностью.
Здравствуйте, alex_public, Вы писали:
_>Это безусловно верно. Но я намекаю на другой нюанс. Что если считать затраты на рисование с помощью шейдеров по честному (т.е. учитывать не только конечную функцию, инициирующую рисование, но и все подготовительные этапы)
Ну драйверы DirectX и всякие OCL заранее грузят ПО в картейку и далее просто передают ей некие закодированные команды.
Здравствуйте, c-smile, Вы писали:
CS>Мой htmlayout использовал GDI, sciter — Direct2D. Во втором kinetic scrolling (60 FPS animation) full screen текста работает. В GDI нет, не успевает. Особенно на 200 dpi desktop monitors.
Ес-но не успевает, потому что Win7 или выше.
Поставь туда WinXP и попробуй опять.