vitaly_l писал(а):Alex2013 писал(а):В одном есть ScanLine в другом нет ... Разницы ноль ... только со ScanLine код опрятнее смотрится и все .

Нет, тут даже Вулкан не поможет.

Смотрите, у Вас 100 картинок, каждая высотой 1000 пикселей. итого имеем 1000 * 100 = 100 000 итераций, вызова сканлайн, умноженное на 1000 по горизонтали, итого 100 000 000 итераций.

С такими вычислениями, даже Вулкан не справится.

А если убрать, сканлайн, то экономия получается 100 000 итераций, вызова сканлайн - это даже при использовании вычислительных мощностей вулкана

, разница - будет ощутимой.

Но возвращаясь к ректам, их всё равно посчитать будет быстрее. Потому что там всего,

400 итераций, вместо 100 000 000. А если эти 400 итераций вычислять с помощью вулкана... то...

вычисления будут ОЧЕНЬ-ОЧЕНЬ быстрыми

.
.
Еще раз объясняю : сказка в том, что переход от Canvas.Pixels[x,y](причем на чтение!

) к ScanLine дало прямо таки
оглушительный "эффект ускорения" (на порядок как минимум ! ) Что и сподвигло меня на дальнейшие поиски способов оптимизации ...
А считать сдвиги строк чаще всего все равно нужно и по идее обход всех линий может и не понадобится ....( в теории ты разумеется прав...

но читаемость кода очень важна, а то сегодня заметил совершенно глупую ошибку.... Долго и уныло терзавшую мои нервы именно потому, что пошли всякие "ручные вычисления смещений " там где это не нужно (взял и умножил размер строки в байтах на количество байт в пискле ...Ага! и самое печальное что все вроде как РАБОТАЛО но стоило сойти "с рельсы" случайного удачного "стечения данных" как полезли "непонятные" исключения )
Зы
Кстати скорость прорисовки наконец измерения в цифрах уже почти реально радует !
(разницы между оконным режимом и расширением практически нет плюс несильно уменьшается при увеличении количества фигур одна фигура (порядок "поедания CPU@ 0.0020-0.0050с десять 0.0040-0069с .))
Первая загрузка из файла разумеется медленней но дальше все если не "летает" то быстро ходит, что уже почти устраивает в рамках данного проекта .