Поиск качественной литературы по мк. КР580ВМ80А

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение jcxz »

[uquote="Starichok51",url="/forum/viewtopic.php?p=4685476#p4685476"]и кстати, в VS я сначала взялся писать в WinAPI. а когда понял, что там приходится руками до хера писать самому, быстро перешел в классы (MFC).[/uquote]Аналогично! :)

Добавлено after 7 minutes 8 seconds:
[uquote="Adrift",url="/forum/viewtopic.php?p=4685487#p4685487"]На винде давно рулит .Net, там стандартная библиотека намного богаче плюсовой и перетаскивание компонентов на форму, как в делфи или VB, а сами компоненты рисуются не древним и тормозным GDI, а DirectX[/uquote]Сомневаюсь, что есть такая прямая зависимость.
Я как-то в одном своём проекте, где есть активное рисование через WinAPI-шные функции рисования и BitBlt(), решил уменьшить нагрузку на CPU. И перевёл все эти рисования на аналогичные функции DirectDraw. И... скорость рисований не изменилась ни на мс! :dont_know:
Из чего сделал вывод, что текущие обычные WinAPI-ные рисования в Win7 (и выше наверное) уже изнутри могут работать через DirectX. Возможно - при выполнении каких-то условий.

Добавлено after 2 minutes 15 seconds:
[uquote="Starichok51",url="/forum/viewtopic.php?p=4685488#p4685488"]более того, сама студия у меня до сих пор стоит довольно старая - 2005 (восьмерка, под ХР)[/uquote]И снова - аналогично! 8)
Точнее - у меня стоит сразу две: VS2005 и VS2008. Во второй есть некоторые вещи, отсутствующие в 1-й, но иногда нужные.
А VS (к его чести) умеет даже при старте проекта по расширению файла проекта, правильно выбирать нужную из двух VS.
Реклама
Adrift
Вымогатель припоя
Сообщения: 550
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Поиск качественной литературы по мк. КР580ВМ80А

Сообщение Adrift »

[uquote="jcxz",url="/forum/viewtopic.php?p=4685510#p4685510"]Сомневаюсь, что есть такая прямая зависимость.
Я как-то в одном своём проекте, где есть активное рисование через WinAPI-шные функции рисования и BitBlt(), решил уменьшить нагрузку на CPU. И перевёл все эти рисования на аналогичные функции DirectDraw. И... скорость рисований не изменилась ни на мс! :dont_know:
Из чего сделал вывод, что текущие обычные WinAPI-ные рисования в Win7 (и выше наверное) уже изнутри могут работать через DirectX. Возможно - при выполнении каких-то условий.[/uquote]
В GDI есть простейшее аппаратное ускорение для некоторых операций, той же BitBlt(), но даже его не было до Win7, у MS есть статья касательно этого. GDI линии Брезенхэмом рисует ) Или можно почитать про отличия WinForm, который по сути .Net обертка вокруг GDI+, и WPF, который уже юзает DirectX и можно полностью весь интерфейс промасштабировать под любой DPI и т.д.. Даже работа с ним похожа на таковую с DirectX/OpenGL:
Спойлер

Код: Выделить всё

var rect = new Rectangle(0, 0, bm.Width, bm.Height);                                 
var bmData = bm.LockBits(rect, ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
int stride = bmData.Stride / 4;                                                      
var ptr = (uint*)bmData.Scan0 + image.atlasPos.Y * stride + image.atlasPos.X;    

for (int y = 0; y < image.Height; y++)                                           
{                                                                                
    uint* pdata = ptr + y * stride;                                              
    if (*pdata & 0xFF000000)
       ............
}
                                                                                     
bm.UnlockBits(bmData);
Реклама
Ответить

Вернуться в «Разные вопросы по МК»