Форум: "Media";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
ВнизВопрос про 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 вся ветка
Форум: "Media";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c