Найдено 11 результатов

CriDos
06.03.2014 12:40:55
Форум: Lazarus
Тема: Выпущен Lazarus 1.2
Ответы: 27
Просмотры: 16805

Re: Выпущен Lazarus 1.2

Использую в проектах только официальные дистрибутивы, с минимум сторонних модулей.
Мне необходима 90% стабильность и поддержка данных проектов, даже через пару (тройку?) лет. :)
CriDos
04.03.2014 22:36:48
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

zub, теперь понял, спасибо за совет :)
CriDos
04.03.2014 22:13:18
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

zub писал(а):Простые операции на CPU с ректами в качестве проверки "видимости" будут быстрее. Также отсеивать лучше пачками.

Можно подробнее? :)
CriDos
04.03.2014 21:18:37
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

Вру, от ОС не зависит, забываю уже об нюансах разработки
Проблема оказалась в невозможности определения некоторых вариантов вхождения части прямоугольника в другой.
Например:
https://dl.dropboxusercontent.com/u/6869303/Files/X.png
var
r1,r2, rTemp: TRect;

begin
r1&#58 ...
CriDos
04.03.2014 17:54:52
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

types.intersectrect
Забыл указать.
Её я и стал использовать после платформозависимого варианта, пока не выяснилось, что в linux системах данная функция работает не так как в windows.
А так как данная функция участвует в реализации селекции объектов, возникли проблемы из за этого самого нюанса ...
CriDos
04.03.2014 16:53:40
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

debi12345 , не знал об этом, нужно будет проверить:)

Добавлено спустя 11 минут 33 секунды:
С виду не скажешь, либо процедура проверки видимости не тороплива((
Ну в случае обработки большого к-ва объектов (свыше 5000+), разница очень хорошо заметна.
А в качестве проверки, в процедуре отрисовки ...
CriDos
04.03.2014 16:13:04
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

CriDos, впечатляет. Может, расскажешь про оптимизации?
Оптимизации которые серьёзно повысили производительность относительно рисования в лоб:
1) Рисуем только то, что видим.
2) При каждом рисовании, создаётся внутренний буфер для каждого состояния сложных и повторяющихся фигур (круг например ...
CriDos
03.03.2014 23:25:28
Форум: Lazarus
Тема: Как увеличить скорость отрисовки на canvas?
Ответы: 123
Просмотры: 107375

Re: Как увеличить скорость отрисовки на canvas?

В своём проекте использую BGRABitmap+некоторую оптимизацию.
Довольно долго изучал возможные варианты, включая OpenGL, ZenGL и стандартные инструменты, но решил остановиться именно на такой связке.
В общей сложности, удалось добиться отличных результатов времени расчётов и отрисовки огромного к-ва ...
CriDos
06.11.2013 21:36:44
Форум: Разработки на нашем сайте
Тема: MidAsm
Ответы: 34
Просмотры: 78302

Re: MidAsm

Надо же, не я один вдохновлён HiAsn'ом!:)
Но у меня цель на данный момент проста - взять лучшее из HiAsm 4 и добавить гибкости и открытости.
Хотя планы у меня не менее амбициозные, взять хотя бы во внимание идею визуального программирования под мобильными ОСями и синхронизацию проектов между ...
CriDos
08.05.2013 13:19:59
Форум: Lazarus
Тема: ShowWindow(SW_SHOWNOACTIVAT) и отсутствие контролов.
Ответы: 2
Просмотры: 2935

Re: ShowWindow(SW_SHOWNOACTIVAT) и отсутствие контролов.

Проблема с переключением фокуса при b.Visible:=true решилась установкой более свежей версии Lazarus (snapshot).
Остановился на следующем варианте:

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

SetWindowPos(b.Handle, -1, 0, 0, 0, 0, SWP_NOACTIVATE);
ShowWindow(b.Handle, SW_SHOWNOACTIVATE);
b.Visible:=true;
CriDos
07.05.2013 16:18:29
Форум: Lazarus
Тема: ShowWindow(SW_SHOWNOACTIVAT) и отсутствие контролов.
Ответы: 2
Просмотры: 2935

ShowWindow(SW_SHOWNOACTIVAT) и отсутствие контролов.

Здравствуйте!
Понадобилось выяснить способ вызова дочерней формы, без передачи оной фокуса.
При использовании функции ShowWindow(hWnd, nCmdShow); форма открывается без передачи фокуса, но с отсутствием на ней каких либо контролов...
Как правильно реализовать данную идею?
Код:

unit Unit1;

{$mode ...