Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.45 MB
Время: 0.009 c
1-82863
Combo
2002-11-11 10:59
2002.11.25
ComboBox ы и их обработчики


1-82726
3asys
2002-11-14 10:45
2002.11.25
Как программно работать со средой Delphi?


4-83076
zarum
2002-10-14 19:29
2002.11.25
как бы создать виртуальный диск в памяти (ex RAMDRIVE)


8-82869
Карлсон
2002-08-03 00:52
2002.11.25
Цветной текст.


1-82862
Smirnoff
2002-11-14 12:55
2002.11.25
Есть ли такакя функция?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский