![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Rasool |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 4.6.2011 Репутация: нет Всего: нет |
В нашей программе в функции загрузки iges-файлов 3D-модели многократно вызывается внешняя программа с жесткого диска triangle.exe:
Из-за этого программа жутко тормозит при загрузке сложного iges-файла. Самое простое решение: создать дополнительный виртуальный диск в ОЗУ, скопировать туда triangle.exe и создавать файлы data.node там. Вопрос: как в Delphi создать виртуальный диск в ОЗУ? Может быть, есть какая-то консольная программа Windows, которую можно запустить с помощью процедуры ExecuteFile, которая создает виртуальный диск в ОЗУ? |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 34 Всего: 459 |
За работу дисков отвечают драйвера. Точнее драйвера отвечают за обслуживание любых устройств, в том числе и виртуальных, а диск это устройство. Не слышал, чтобы в винде было что-то подобное. Но есть программы этого класса которые не просят денег. Например В любом случае как бы программа не запускалась ей придется загрузить драйвер. Это действие потребует прав администратора. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
DYUMON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 321 Регистрация: 17.6.2006 Где: Новосибирск Репутация: нет Всего: 3 |
У меня такое материнка поддерживает и к ней идет спец утилита для того что бы монтировать диски из оперативной памяти. тебе как вариант засунуть утилиту на ssd, может поможет.
как вариант тут почитай. https://support.microsoft.com/ru-ru/kb/257405 Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
Guinness |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 21.6.2009 Где: Зеленоград Репутация: нет Всего: 10 |
1) Каков размер программы? Если он не шибко большой, то, возможно, основное время тратится не на чтение файла с жесткого диска, а на создание процесса операционной системой. Тогда виртуальный диск не спасёт отца русской демократии. 2) Есть ли какие-нибудь другие интерфейсы взаимодействия с данной программой кроме вызова её через командную строку? (COM, pipe, socket, stdin/stdout и т.п.) Ибо один раз запустить и передавать ей команды на выполнение всяко лучше, чем подтягивать для этого драйвер виртуального диска. 3) К слову, Вы можете один раз считать этот exe файл в память, а далее, если вы конечно знаете что такое PE-формат, вызывать функцию main напрямую. Хотя тут возможны различные подводные камни, о которых я Вам сказать не смогу, ибо так никогда не пробовал делать. Добавлено через 11 минут и 6 секунд ИМХО, вообще, раз у вас так часто вызывается данная утилита, то следовательно - это критическая часть вашего приложения. Т.к. она написана не Вами, то это приводит печальным последствиям и придумыванию различных костылей. Для тестового приложения такая схема вполне оправдана, но раз Вы обнаружили, что "бутылочное горлышко" у Вас - это вызов данной утилиты, то было правильно самому реализовать данные вычисления. Это сообщение отредактировал(а) Guinness - 16.6.2016, 08:46 |
||||
|
|||||
Piter |
|
|||
Новичок Профиль Группа: Участник Сообщений: 0 Регистрация: 24.8.2008 Репутация: нет Всего: нет |
Отсылаю к книге (наверняка есть в электронном варианте) Андрей Шкрыль Delphi. Народные советы.- СПб.: БХВ-Петербург, 2007. Глава 6, стр. 298-299. Перенес бы весь текст, но нет сканера, а зрение не позволяет набирать те 20 строчек. Однако название раздела звучит – «Вопрос 8. Как создать виртуальный диск и затем, после окончания работы, удалить его?». И снова и снова и какой раз… Наберите в GOOGLE «Как создать виртуальный диск delphi», результат поиска – «Результатов: примерно 27 300 (0,25 сек.)». Ясно, что части результатов не подходят. Но внимательно смотрим (без анализа текста):
http://forum.sources.ru/index.php?showtopic=9545 http://forum.sources.ru/index.php?showtopic=47218 http://forum.sources.ru/index.php?showtopic=95457 http://www.cyberforum.ru/delphi/thread493937.htm http://www.cyberforum.ru/delphi/thread1763547.ht Нахожу и данный вопрос http://forum.vingrad.ru/forum/s/c9ed469bff...y2660195/0.html http://forum.vingrad.ru/topic-19166.html http://www.delphisources.ru/pages/sources/...irtual-disk.htm - программа для создания виртуального диска. «Исходник программы, показывающей пример использования библиотеки VirtualDisk для создания виртуального зашифрованного диска. Вы можете работать с ним точно также, как с диском C:\ либо папкой Мои Документы: копировать и стирать файлы, перетаскивать их туда мышкой, просматривать диск через проводник Windows Explorer и т.д., при этом вся информация шифруется автоматически "на лету" алгоритмом AES 128 - Автор Зорков Игорь.» http://ru.vingrad.com:8080/Kak-sozdat-virt...ccc19801404290e https://rsdn.ru/forum/delphi/411491.all http://www.delphimaster.net/view/1-1008/all я не привожу тексты – это излишне. Не знаю, насколько приведенные форумы и статьи реально могут помочь. И это только первая страница из результатов поиска в GOOGLE. Вопрос моментально пробудил воспоминания о выше указанной книге. При разрешении конкретной проблемы обошелся без его применения - писал приложения управления спекл-интерферометрическими установками и сохранение интерферограмм в реальном времени требовало высокого быстродействия. Пробуй, неудачные варианты могут помочь позднее. Главное – опыт. Человек умеет только то, чему научился сам – это и есть жизнь. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
stanilar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 9.2.2010 Репутация: нет Всего: нет |
Модератор: Сообщение скрыто. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |