Главная страница
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.024 c
1-82692
bondik
2002-11-14 16:03
2002.11.25
Вопрос


7-83017
DuXe
2002-09-25 15:49
2002.11.25
А как прибавить к системному времени 30 секунд?


14-83002
Valt
2002-11-07 15:16
2002.11.25
---|Ветка была без названия|---


14-82947
Пиноккио
2002-11-05 21:33
2002.11.25
Помогите - NAN


14-82915
lipskiy
2002-10-26 00:21
2002.11.25
Две сети на одном компе - и чтоб одна другую не видела - реально?