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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.056 c
15-1168773822
Vudu
2007-01-14 14:23
2007.02.04
Что за глюк с компом?


15-1169036653
IMHO
2007-01-17 15:24
2007.02.04
Долевое строительство


2-1169127758
dimmih
2007-01-18 16:42
2007.02.04
компоненты


15-1168745514
lookin
2007-01-14 06:31
2007.02.04
Из Пушкина...


3-1163531908
Kolan
2006-11-14 22:18
2007.02.04
Неужели циклы в T-SQL так тупо сделаны - неверю...