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

Вниз

Вопрос про DirectDraw ..   Найти похожие ветки 

 
dimushkin ©   (2002-07-26 14:16) [0]

Пытаюсь освоить DirectX (простая графика тормозит жутко).
всвязи с этим возник вопрос:
у меня граф редактор 2Д в нем КУЧА мелких элементов (до 30 000 и куча текста)
схема размером порядка 10000x1200 пикселей короче несколько экранов
все это дело нужно скролировать и желательно без тормозов
Щас при скролинге я перерисовысаю всю схему (каждый элемент) с логическим отсечением по координатам (попал- пе попал :)
все это перевел на DirectDraw
ВОПРОС такой можно ли его средствами предварительно нарисовав схему скролировать уже отрисованную область в координатах панели например или клиентской области окна?
И если можно, то обрисуйте если можно концепцию вкратце
Заранее благодарен.


 
nikolanav ©   (2002-07-26 15:57) [1]

Как я понял ты запихнул всю эту кучу в матрицу и работаешь напрямик с ней. Это ты хорошо сделал, но если свободить пару - тройку метров в памяти, то можно зихнуть её туда и при скроле не будет явных тормозов, если машина не древняя:)


 
dimushkin ©   (2002-07-26 17:53) [2]

освободить память ПОДО ЧТО конкрето?
памяти сколько надо столько и будет
у меня динамический массив объектов которые обладают кущей свойств каждый состоит из дин массивов граф примитивов (кружков линий и т д). каждый объект имет матицу преобразования (масштаб поворот и т д). Пред выводом на экра все это перемножается и собствено выводится все это долго делается.
машина П3 1200 МГц когда проект завершится (нужен не только редактор но и еще кое что на этом же движке) все это будет работать наверное уже на П4 2 ГГц. короче подбираем железки под программы а не программу под железки :-) деньги у заказчиков есть что скажем то и будет :-)


 
KilkennyCat ©   (2002-07-28 01:14) [3]

можно.


 
Владимир Васильев ©   (2002-08-06 12:46) [4]

Насколько я понял, вы пытаетесь вывести на экран СТАТИЧЕСКУЮ графическую информацию - только большого формата и вам надо скроллировать область отображения - для таких целей нет необходимости строить картинку целиком - постройте область на 50% большую области вывода - назовём это буфером. Из буфера копируете в область вывода - а при скроллинге обновляйте только новые объекты буфера. Обновление - дорисовка объектов буфера производите в отдельном потоке. Проблемы могут возникнуть только при быстром скроллинге - когда 50% запаса может не хватить и буфер прийдётся перерисовывать целиком - но в авшем случае статической картинки это будет незаметно.И ещё - все ваши графические примитивы надо хранить в видеопамяти.



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
3-82608
NiBL
2002-11-05 09:28
2002.11.25
Помогите с DBEdit !!!


8-82868
Alex_E
2002-07-20 10:31
2002.11.25
Конвертация bmp- ico


3-82676
=SOFT=
2002-11-06 18:40
2002.11.25
interbase 6 - Помогите пожалуйста !!!!!


14-82964
Василий
2002-11-06 17:59
2002.11.25
Кто ни будь знает как программно инсталлировать шрифт ?


8-82877
GIL
2002-08-03 04:47
2002.11.25
как создать параллельный процесс без использования TTimer