Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.039 c
15-1167999141
Иксик
2007-01-05 15:12
2007.02.04
Дорогие друзья!


1-1165928238
BOB16
2006-12-12 15:57
2007.02.04
печать на принтер, которые не "по-умолчанию"


2-1169270058
22b
2007-01-20 08:14
2007.02.04
XML := CreateOleObject( Microsoft.XMLDOM ) как корректно снять?


2-1169152077
sinys
2007-01-18 23:27
2007.02.04
Почему-то происходит пересоздание формы


15-1168590761
6548
2007-01-12 11:32
2007.02.04
эмуляция действий





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский