Текущий архив: 2006.04.23;
Скачать: CL | DM;
ВнизОптимизация хранения данных для транслятора, который рисует фигур Найти похожие ветки
← →
MVP (2006-04-05 22:16) [0]Смотрите, написал транслятор. Он рисует различного рода фигуры. Принцип действия таков. Мы задаем какую фигуру нам надо построить, программа обращается в текстовый файл, ищет в нем необходимое название, после которого идут команды параметры отрисовки. Например линия, которую содержит эта фигура и она характеризуется буквой L. Строка с этой буквой разбивается на части, и потом рисуется с помощью функций Канвы. Для этих фигур есть разные параметры, кроме лтиний, круги, квадраты, эллипсы. При выводе таких 20 значков, скорость отрисовки очень медленная. Подскажите как оптимизировать хранение таких данных, чтобы повысить анализ файла.
← →
Юрий Зотов © (2006-04-05 22:26) [1]Скорее всего, тормозит не анализ файла, а сама отрисовка. Ее и надо оптимизировать в первую очередь. А анализ файла по сравнению с рисованием - копейки.
← →
MVP (2006-04-06 01:07) [2]Смотри просто как происходит. Для каждой прорисовки рисунка открывается текстовый файл, в нем ведется поиск строки, потом идет анализ директив для этой строки и так каждый значек, а их у меня штук 70.
← →
MVP (2006-04-06 11:25) [3]а что такое Windows-Format Metafiles?
← →
Amoeba © (2006-04-06 11:28) [4]
> MVP (06.04.06 11:25) [3]
> а что такое Windows-Format Metafiles?
Примитивно говоря, это файл, содержащий последовательность команд GDI для отрисовки на контексте устройства (Canvas), а не сам рисунок (как BMP или ICO).
← →
ЮЮ © (2006-04-06 11:32) [5]
> Смотрите, написал транслятор.
Не вижу, как не всматриваюсь.
Теперь пиши компилятор :)
После подъема всех текстовых файлов запиши все объекты в бинарном формате в один файл.
← →
MVP (2006-04-06 12:09) [6]Код написанного просто на работе.
> После подъема всех текстовых файлов запиши все объекты в
> бинарном формате в один файл.
о, есть такая идея, писать в бинарный, сначала смещение писать по которому находится следующая команда, потом писать имя рисуемого объекта, при прогоне, сначала записывается смещение, потом смотрится имя, если имя не совпадат, то прыгаем на смещение
Но не лучше использовать wmf и emf, как их формировать, как с ними работать?
Страницы: 1 вся ветка
Текущий архив: 2006.04.23;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.013 c