Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
6-82892
HelpMy
2002-09-17 07:11
2002.11.25
Как программно открыть/закрыть доступ к диску (папке)?


4-83049
Polox
2002-10-12 18:03
2002.11.25
Как соединиться с интнрнетом


6-82884
Граф
2002-09-27 05:36
2002.11.25
как закачать файл по локальной сети с возможностью докачки


4-83052
Xemax
2002-10-12 21:24
2002.11.25
Как узнать какие DLL подгружены к процессу?


14-82945
Юра
2002-10-17 20:29
2002.11.25
Как дети учат информатику




   Наверх