Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Открыть новую тему     Написать ответ в эту тему

data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаем новые возможности и баги
Просьба писать только про Embarcadero RAD Studio XE2 (Pulsar) - по остальным версиям есть соответствующие темы.

Вопросы вареза здесь не обсуждаются !!!
См. также:


Из слишком часто повторяемых вопросов:
  1. Почему EXE такие большие - перевод статьи от Andy тут, оригинал на страницу назад.
  2. Что случилось c авто-увеличением Build Number - Объяснение на англ.. Можно отключить встроенную функцию и добавить плагин, в котором есть "старый" авто-инкремент. Например DDevExtensions от Andy. У него так же есть хороший плагин IDE FixPack

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 23:54 27-07-2011 | Исправлено: Arioch1, 16:08 25-04-2013
G787



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vo1T
Видимо чудеса ....
 
 
Ctrl+Click не всегда открывает либы/юниты в чем может быть дело ?

Всего записей: 1035 | Зарегистр. 04-12-2005 | Отправлено: 16:01 28-06-2013
Buldozer_and_Co



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Решил все таки переехать на XE2 с D7
два последних проекта адаптировал, нашел используемые компоненты, и т.д.
все классно.
Но попытался создать новый проект и...
1. TImageList невозможно добавить в TDateModule
2. Не могу на редактирование открыть файл dpr, только в стороннем редакторе
3. При открытии проекта отображается только основная форма, остальные надо вытаскивать из списка...
 
Это пока только что нашел за первый час использования, подскажите у кого как??...

Всего записей: 237 | Зарегистр. 10-01-2003 | Отправлено: 22:06 04-08-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Buldozer_and_Co
1. попробуй удалить из .pas файла датамодуля строчку  
{%CLASSGROUP 'System.Classes.TPersistent'}
2. Project->view source
3. ты об авто-сохранении открытых форм? Project->Options->Environment Options->Project desktop

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 22:50 04-08-2013
Buldozer_and_Co



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
A_V
Спасибо! по 1,2 пунктам все получилось, а в третьем я имел ввиду, при открытии проекта открывается только основная форма, а остальные надо открывать ручками, то есть IDE не восстанавливает все открытые формы проекта, может это дело привычки с D7.

Всего записей: 237 | Зарегистр. 10-01-2003 | Отправлено: 09:46 05-08-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Buldozer_and_Co
ну и я то-же самое имел ввиду ). галку на Project desktop поставь. в D7 это тоже в настройках было кста

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 11:26 05-08-2013
Buldozer_and_Co



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Да точно, в D7 ставил две галки не задумываясь )

Всего записей: 237 | Зарегистр. 10-01-2003 | Отправлено: 11:44 05-08-2013
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Решил все таки переехать на XE2 с D7  

 
Если не секрет, почему именно DXE2, а не 3 или 4?
 

Цитата:
1. TImageList невозможно добавить в TDateModule  

В свойствах TDateModule попробуйте поменять свойство "ClassGroup" и почитайте о нём в тырнете и/или справке. Чего-то они там накрутили с TDateModule.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:22 05-08-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
насчет ClassGroup, действительно к примеру TImageList, TTimer и TMainMenu  относятся к классгруппе Vcl.Controls.TControl,  хотя и являются наследниками TComponent, а не TControl

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 13:57 05-08-2013
Buldozer_and_Co



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Если не секрет, почему именно DXE2, а не 3 или 4?

во первых xe2 не нужен активатор, (в случае с варезной версией )
во вторых на D7 использовал ToolBar2000 и TBX, а "наследник" spTBX есть только под XE2
Последние два проекта перетянул, а оставшиеся комилю в Д7 под виртуалкой.

Всего записей: 237 | Зарегистр. 10-01-2003 | Отправлено: 19:46 05-08-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть простенький процесс, который периодически делает скриншот всего экрана и сохраняет в файл.
При всех прочих равных эта программа, будучи откомпилирована в Delphi7 работает в 1.5-2 раза быстрее, чем будучи откомпилирована в Delphi XE2.
Есть какое-то объяснение, оправдывающее такое падение производительности?
Привожу код для интересующихся
 
исходник

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 15:57 01-09-2013 | Исправлено: XPerformer, 15:58 01-09-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скриншоты в JPG ? оригинально.  Попробуй в PNG и GIF и, возможно, разными бибилиотеками и с разной силой попробуй сжимать, они могут быть разные по скорости.
 
Например есть Png в GraphicEx, VampyreImaging  
 
Добавлено:
И еще, попробуй не запускать 200 раз, а запустить и внутри программы сделать 200 скриншотов - тогда разница будет?

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:00 01-09-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jpeg- требование заказчика
я не запускаю 200 раз, там же написано - крутится процесс, в цикле каждые 10 сек делает скриншот
По существу вопроса хотелось бы услышать - есть ли существенное падение производительности проектов, перекомпилированных в более свежих версиях делфи?

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 17:11 01-09-2013
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
>По существу вопроса хотелось бы услышать - есть ли существенное падение производительности проектов, перекомпилированных в более свежих версиях делфи?
 
бывает, при интенсивной работе со строками. но тут другой случай. для начала стоит посмотреть профайлером, что-бы понять, SaveToFile торомозит (и где именно) или еще что

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 08:26 02-09-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ок, посмотрю сегодня

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 09:23 02-09-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XE2:
сохранение файла - в среднем 295 мс, все остальное - 58 мс
Delphi7:
сохранение файла - в среднем 146 мс, все остальное - 60 мс
То есть в пределах экспериментальной ошибки снятие скриншота и конвертация в jpeg работает с одинаковой скоростью, а тормозит сохранение в файл через TFileStream
Вот такие пирожки

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 16:27 02-09-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
теперь еще осталось замерить время
 
1. сохранение в TMemoryStream
2.1 сохранение TMemoryStream.SaveToFile
2.2 сохранение BlockWrite(TMemoryStream.Memory )
 

Цитата:
конвертация в jpeg работает с одинаковой скоростью

Как раз думаю, именно она и тормозит
 
Попробуй другий JPEG-библиотеки.

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:00 02-09-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arioch1
не понял
факты говорят однозначно о другом

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 17:07 02-09-2013
Arioch1



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я думаю, вы просто не угадали, когда на самом деле производится конвертация в JPEG
Но посколько точек замера я у вас подсмотреть не могу, это конечно только моё предположение.
 
Но тем не менее, почему бы вам не разбить сохранение на два шага, как я предложил, и не проверить.
 
Понимаете ли, затормозить запись в диск - это довольно непросто. Птому что ее ограничивает винчестер, а не процессор.
 
Впрочем, теоретически есть и еще вариант: XE2 ждёт, пока данные будут записаны, а 7 отправляет Windows'у запрос и сразу закрывается.
 
Добавлено:

Цитата:
SaveToFile торомозит (и где именно)

в скобочках - ключевое :-D

Всего записей: 904 | Зарегистр. 03-03-2010 | Отправлено: 17:21 02-09-2013
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Реализация SaveToFile выглядит незамысловато:
 

Код:
procedure TGraphic.SaveToFile(const Filename: string);
var
  Stream: TStream;
begin
  Stream := TFileStream.Create(Filename, fmCreate);
  try
    SaveToStream(Stream);
  finally
    Stream.Free;
  end;
end;
 

 
мерять тут уже особо нечего, а главное, не нужно, ибо переписывать TFileStream я не буду.
TFileStream - не быстрый, я с этим сталкивался еще при переходе с D5 на D7.
Уход на другие jpeg-библиотеки конечно возможен, но интересовал вопрос именно быстродействия программы при использовании стандартных библиотек делфи.
 
Добавлено:
Добавлю, что модуль jpeg поставляется без исходников и посмотреть чем отличается реализация строчки
SaveToStream(Stream);
в разных версиях делфи я не могу

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 17:34 02-09-2013
Frodo_Torbins

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
Какой то странный у вас профилировщик. Воспользуйтесь хотя бы AQtime из комплекта студии. Он вам во всех деталях покажет, на что время тратится.

Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 17:44 02-09-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Embarcadero RAD Studio XE2 (Pulsar)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru