Форум: "Прочее";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизAPI Найти похожие ветки
← →
Eraser © (2007-01-12 23:17) [40]> [38] @!!ex © (12.01.07 21:38)
> Зачем секундомер? :))
затем что это позволит увидеть реальную картину, а не домыслы.
> Вы в курсе что переход по указателям требует времени?
> А что есть функция события? Правильно указатель. А там этих
> указателей вагон, поскольку куча классов и родителя не найти.
ну есть лишние переходы по сравнению с API... для современных компьютеров это ничтожная цифра. поверь на глаз будет незаметна задержка в работе от вызова 5 или даже 100 виртуальных методов или переходов по указателю :))
> Вы все еще не видете преимущества вызова API функции напрямую
> вызову через кучу оберточных интерфейсов?
опять же, о какой куче речь? зачастую всё ограничевается вызовом одного метода.
> Угую. Скажите это тем 70% контор, которые пишут на С++.
откуда такая цифра? большинство пишет на VB.
новые же проекты повально начинают на .NET ориентированных языках. хотя тут можно поспорить.
> No comments. Действительно сказать нечего. утерли мне нос.
> Поздравляю.
могу еще таких много в пример привести, с ф-циями, которых нет у windows.pas ))
> Вы все еще считаете, что АПИ окна работает не быстрее чем
> VCL?
окна - они везде одинаковые, не бывает понятия "VCL окно". Но зачастую использование VCL оптимальнее, т.к. потебляет меньше системных ресурсов, к примеру, в приложении с очень развитым туллбаром.
> Хм... Ну и на С также писать ассемблерный код....
зачем?
> SSE3 еще не описан в хедерах Студии...
при чём тут хеадеры? )
есть интелавский C-компилятор, который поддерживает SSE3.
> О том, что на РНР нельзя делать такой изврат как на С#?
> Вы не согласны?
не согласен.
> [39] kaZaNoVa © (12.01.07 21:47)
вот хорошо подметил ) а выяснить это можно только с помощью секундомера.
я еще могу согласиться, что VCL программа стартует дольше, чем на чистом API, но то, что она работает медленно.. секундомер.. только секундомер спасет ОРД :))
← →
@!!ex © (2007-01-13 00:05) [41]
> затем что это позволит увидеть реальную картину, а не домыслы.
Человек отличается от животного тем, что способен мыслить и делать правильные выводы не имея непосредственно практики, имея только теорию.
Вот вам ваш пресловутый секундомер:
Procedure Paint; //Для API
begin
FillRect(DC,Rect(0,0,800,600),Brush);
end;
Procedure Paint; //Для VCL
begin
Form1.Canvas.FillRect(Rect(0,0,800,600));
end;
Procedure Click;
var
I:integer;
Counter,Counter2:int64;
begin
QueryPerformanceCounter(Counter);
for i:=0 to 99999 do
Paint;
QueryPerformanceCounter(Counter2);
ShowMessage(IntToStr(Counter2-Counter));
end;
VCL 98654749
API 96499922
ПРи этом колебания от всякого рода шумов в пределах 100000....
Результат говорит сам за себя.
> ну есть лишние переходы по сравнению с API... для современных
> компьютеров это ничтожная цифра. поверь на глаз будет незаметна
> задержка в работе от вызова 5 или даже 100 виртуальных методов
> или переходов по указателю :))
Видимо вам никогда не приходилось работать в проектах, в которых требуется максимум ресурсов.
Когда в поисках каждой лишней мс приходится лопатить горы кода.
← →
@!!ex © (2007-01-13 00:10) [42]
> окна - они везде одинаковые, не бывает понятия "VCL окно".
> Но зачастую использование VCL оптимальнее, т.к. потебляет
> меньше системных ресурсов, к примеру, в приложении с очень
> развитым туллбаром.
Вы педант или вам просто нравиться придираться к словам, не имея реальных аргументов?
Понятно же что я о форме.
> при чём тут хеадеры? )
> есть интелавский C-компилятор, который поддерживает SSE3.
Угу. А вы не в курсе, что обычно для в проект суют несколько вариантов одних и тех же процедур для разных систем?
Как вы предлагаете совместить 3DNow! и SSE?
Интеловский компиллер понятия не имеет ни о каких 3DNow!, а компиллер 3DNow! вообще фиг найдеш. Отсюда и решение - ассемблер.
> вот хорошо подметил ) а выяснить это можно только с помощью
> секундомера.
>
> я еще могу согласиться, что VCL программа стартует дольше,
> чем на чистом API, но то, что она работает медленно.. секундомер.
> . только секундомер спасет ОРД :))
Да очевидно же, что она работает медленнее....
Другое дело, что можно спорить, насколько это значительное замедление...
В каких то задачах, аля калькулятор или БД - не значительная.
А при отрисовки 1500 кадров в секунду - очень даже значительное.
Тем более что в сумме от использования кучи компонентов сие замедление весьма нехилое.
Пользователю пофиг, что нажатие на кнопку отрабатывается 50 мс...
если он не нажимает на кнопку с частотой больше 20 раз в секунду....
Что еще нужно сделать, чтобы доказать вам, что VCL медленнее?
Спокойной ночи.
← →
Eraser © (2007-01-13 00:49) [43]> [41] @!!ex © (13.01.07 00:05)
у меня этот пример тоже показал существенную разницу.
только ты подменил понятия. речь шла о целесообразности использования модуля Forms и постороения интерфейсов на базе VCL. Если мне нужно будет написать участок кода, где активно будет использоваться заполненных кистью квадратов - я буду использовать WinAPI, если же мне просто нужно нарисовать несколько квадратов, я буду использовать то что удобнее и очевиднее, не плодя лишние переменные.
> Видимо вам никогда не приходилось работать в проектах, в
> которых требуется максимум ресурсов.
вот тут ты ошибаешься. сейчас мой приоритетный проект как раз связан со скоростью прорисовки графики и вообще работой с GDI. По скорости не уступает и даже превосходит самых именитых конкурентов, о которых вы слышали кстати скорее всего. это не моё мнение, а мнение пользователей моего проекта. При этом, почти везде при работе с графикой используется VCL, за исключением действительно узких мест.
вообще не хотелось бы здесь обсуждать свои проекты, не этично это.
> Понятно же что я о форме.
в winAPI не бывает форм :)))
> А вы не в курсе, что обычно для в проект суют несколько
> вариантов одних и тех же процедур для разных систем?
я вкурсе, только к чему были упомянуты заголовочные файлы. вот что меня смутило.
> А при отрисовки 1500 кадров в секунду - очень даже значительное.
прорисовку кадров можно реализовать и на чистом API, зачем отказываться от построения интерфейса на VCL?
> Что еще нужно сделать, чтобы доказать вам, что VCL медленнее?
а зачем мне это доказывать? он медленнее (при условии, что программу на чистом API, с которой сравнивается VCL программа, писал грамотный человек). только для UI это незаметно. ну не вижу я смысла отказываться от RAD средства из-за этого.
← →
Observer (2007-01-13 09:48) [44]Вот что бывает, когда сталкиваются Прикладник и ГеймДевелопер...
Оба правы.. Относительно своей отрасли... И оба не правы относительно отрасли своего товарища....
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.54 MB
Время: 0.048 c