Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

что быстрее работает?   Найти похожие ветки 

 
Альберт ©   (2007-03-22 23:50) [0]

сохраняю в файл данные hrgn, а потом загружаю и применяю. может стоит сразу в память грузануть hrgn? что быстрее?


 
Prohodil Mimo ©   (2007-03-22 23:58) [1]

неужели ты думаешь, что работа с диском осуществляется быстрее, чем работа с памятью?


 
Альберт ©   (2007-03-23 00:06) [2]

выпил пива)) гипотеза такая возникла)) ах, хорошо)


 
Альберт ©   (2007-03-23 00:07) [3]

спасибо)


 
MBo ©   (2007-03-23 06:36) [4]

hrgn - это просто одно число, дескриптор региона, так что сохранять его в файл нет смысла


 
homm ©   (2007-03-23 10:01) [5]

> hrgn - это просто одно число, дескриптор региона, так что
> сохранять его в файл нет смысла

дак вроде-же
> сохраняю в файл данные hrgn


кстати, как ты их достаещь?


 
REA   (2007-03-23 10:05) [6]

GetRegionData поди


 
MBo ©   (2007-03-23 10:15) [7]

>homm
Далее автор спрашивает
>может стоит сразу в память грузануть hrgn?


 
homm ©   (2007-03-23 10:31) [8]

Удалено модератором


 
homm ©   (2007-03-23 10:35) [9]

Если такой буквоед, то hrgn - тип данных, его вообше никуда грузить нельзя.


 
homm ©   (2007-03-23 12:52) [10]

> [8] homm ©   (23.03.07 10:31) после модерации

> Далее автор спрашивает
> >может стоит сразу в память грузануть hrgn?

Ну и???? Вы же написали "так что сохранять его в файл нет смысла".


 
Альберт ©   (2007-03-23 21:53) [11]

procedure SaveRegion (FileName: string);
var
 s: TStream;
 size: cardinal;
 data: pointer;
begin
 s := TFileStream.Create (FileName, fmCreate);
 try
   size := GetRegionData (fRgn, SizeOf (RGNDATA), nil);
   data := GlobalAllocPtr(GPTR, size);
   try
     GetRegionData(fRgn, size, data);
     s.Write(data^, size);
   finally
     GlobalFreePtr(data);
   end;
 finally
   s.Free;
 end;
end;

function LoadRegion (FileName: string): hRGN;
var
 data: PRgnData;
 s: TStream;
begin
 s := TFileStream.Create (FileName, fmOpenRead);
 try
   data := GlobalAllocPtr(GPTR, s.size);
   try
     s.Read(data^, s.Size);
     Result := ExtCreateRegion(nil, s.Size, data^);
   finally
     GlobalFreePtr(data);
   end;
 finally
   s.Free;
 end;
end;


 
Альберт ©   (2007-03-23 21:59) [12]


> Если такой буквоед, то hrgn - тип данных, его вообше никуда
> грузить нельзя.


не надо делать поспешных выводов


 
Игорь Шевченко ©   (2007-03-23 22:41) [13]

Альберт ©   (23.03.07 21:59) [12]

hrgn - это вообще-то handle. И ни сохранять его, ни тем более грузить никак нельзя.


 
Альберт ©   (2007-03-23 22:46) [14]

смотрите на fRgn и  GetRegionData


 
Игорь Шевченко ©   (2007-03-23 22:50) [15]

Альберт ©   (23.03.07 22:46) [14]

Ты свой первый вопрос растолкуй, а то я читаю и не могу понять, что же ты хочешь сделать


 
Альберт ©   (2007-03-23 22:57) [16]

вопрос в том, что оптимальнее использовать:

за один раз загружать данные из файлов или в случае анимации постоя грузить с жесткого диска. возможен и смежный вариант. кэшировать кадры "наперед"


 
homm ©   (2007-03-23 23:03) [17]

> [13] Игорь Шевченко ©   (23.03.07 22:41)
> hrgn - это вообще-то handle. И ни сохранять его, ни тем
> более грузить никак нельзя.

Игорь, и Вы туда-же? Ну где же автор говорит о сохранении хэндла?

Вопрос понятно дело - ламерский, что быстрее память или диск. Ясно что память, но это никак не означает что вопрос задан неверно, и ответ был дан в [1], а дальше пошло буквоедство.


 
Игорь Шевченко ©   (2007-03-23 23:10) [18]

homm ©   (23.03.07 23:03) [17]


> Игорь, и Вы туда-же?



> сохраняю в файл данные hrgn, а потом загружаю и применяю.
>  может стоит сразу в память грузануть hrgn? что быстрее?


И как на такой вопрос отвечать, спрашивается ?

Почему-то когда вопрос в подобном виду задают компилятору он честно ругается, потому что не соответствует грамматике или семантике его, компилятора, языка.

Так и тут - семантика вопроса явно нарушена.


 
Альберт ©   (2007-03-23 23:11) [19]

homm © , лучше мысли свои напишите сюда http://delphimaster.net/view/4-1173536327/


 
Альберт ©   (2007-03-23 23:13) [20]

ребят, извиняюсь за неконкретику


 
Игорь Шевченко ©   (2007-03-23 23:14) [21]

Альберт ©   (23.03.07 22:57) [16]


> вопрос в том, что оптимальнее использовать:
>
> за один раз загружать данные из файлов или в случае анимации
> постоя грузить с жесткого диска. возможен и смежный вариант.
>  кэшировать кадры "наперед"


Все зависит от компромисса между требуемой скоростью и объемом памяти, необходимой для хранения данных. Если известно, то данных не слишком много, то лучше сразу загрузить, если много - тогда изобретать, иначе своппинг может ухудшить производительность.

А кстати, почему не хочешь метафайлами воспользоваться - уже готовый механизм, не надо мудрить с GetRegionData


 
homm ©   (2007-03-23 23:15) [22]

> [16] Альберт ©   (23.03.07 22:57)

Ну вот, оказываеся вопрос действительно задан коряво :)

Мое мнение, если данных до 1 метра, то не о чем беспокоится, грузи сразу, если больше - можно подумать о последовательном чтении, но в любом случае винда с кэшированием справится сама.

А это все про браузер реализация? Решил регион флешки просчитать, и применять к окну? :)


 
Альберт ©   (2007-03-23 23:18) [23]

ага)


 
homm ©   (2007-03-23 23:21) [24]

Весьма оригинальное решение, и, учитывая оригинальность здачи, возможно самое простое. При условии что в флешке нет полу-прозрачных областей.


 
Альберт ©   (2007-03-23 23:22) [25]


>  почему не хочешь метафайлами воспользоваться

да не работал таким образом.. к сожалению..


 
Альберт ©   (2007-03-23 23:24) [26]


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


ну так я с такой штукой и реализовываю..


 
Альберт ©   (2007-03-23 23:28) [27]

типа альтернатива вистовским виджетам


 
Альберт ©   (2007-03-23 23:30) [28]

полупрозрачная флешка тоже будет как окошко


 
homm ©   (2007-03-23 23:34) [29]

И как сие с регионами реализуется? Имхо - никак.


 
Альберт ©   (2007-03-23 23:44) [30]

ну это сначала так кажется.. никто не отменял вырезание окошка..
всю прозрачно реализую ручками, и регионы тоже в теме оказались


 
homm ©   (2007-03-23 23:52) [31]

> типа альтернатива вистовским виджетам

Ну дак может и пойти по ее пути? DirectX в помошь. Чего такого монстра городить, все равно не все окна будут с твоим корректно работать. (Виндовые контролы любят рисоватся не через WM_PAIINT а через GetDC(0)).


 
Альберт ©   (2007-03-24 00:12) [32]

да я предложу технологию, а под нее дизайнеры будут верстать.

а по пути ее не стоит идти.. политика мелкософта вообще не нравится. все тормознее и тормознее. так что на винапи ручками делаю, быстро, маленький размерчик, поменьше ком.  WM_PAINT не используется у меня вообще


 
Альберт ©   (2007-03-24 00:15) [33]

ну кроме как в самом браузере


 
homm ©   (2007-03-24 00:16) [34]

> так что на винапи ручками делаю, быстро, маленький размерчик

Через регионы? С ручной прорисовкой полу-прозрачных областей?

> все тормознее и тормознее.

DirectX все тормозне???


 
Игорь Шевченко ©   (2007-03-24 00:19) [35]


> политика мелкософта вообще не нравится. все тормознее и
> тормознее. так что на винапи ручками делаю, быстро, маленький
> размерчик, поменьше ком.  WM_PAINT не используется у меня
> вообще


Удачи


 
Альберт ©   (2007-03-24 00:31) [36]

содежимое виджета собирается стандартными средствами, которые доступны каждому, кто занимается дизайном, которые вполне стабильно работают. ну а морочиться директ икс, это точно мало к чему нормальному приведет:писать свой парсер придется. поддержку плагинов. ломать голову с стандартизацией.. ну это нереальная задача..


 
homm ©   (2007-03-24 02:02) [37]

> ну а морочиться директ икс, это точно мало к чему нормальному
> приведет:писать свой парсер придется. поддержку плагинов.
> ломать голову с стандартизацией.. ну это нереальная задача..

Да все проще. Создай окно, импортируй OCX, подсовывай канву сурфэйса, и вперед.


 
Gero ©   (2007-03-24 13:22) [38]

asm быстрее, пиши на нем.


 
homm ©   (2007-03-24 22:05) [39]

> asm быстрее, пиши на нем.

asm быстрее жесткого диска и оперативной памяти? ;)


 
Gero ©   (2007-03-25 03:03) [40]

> [39] homm ©   (24.03.07 22:05)
> asm быстрее жесткого диска и оперативной памяти? ;)

Бывали случаи!



Страницы: 1 2 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.03 c
2-1175619430
Kostafey
2007-04-03 20:57
2007.04.22
ComboBox


11-1154280166
Vladimir Kladov
2006-07-30 21:22
2007.04.22
Версия 2.37


15-1171458450
@!!ex
2007-02-14 16:07
2007.04.22
Мифы о Linux. Чем же она всеткаи хуже Windows?


11-1154888270
Александра
2006-08-06 22:17
2007.04.22
OnFocus для EditBox


1-1172567109
Тфьу
2007-02-27 12:05
2007.04.22
Создание библиотек bpl