Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729

Release версия искажает вывод графики

17.04.2013, 21:45. Показов 1329. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть проект, прикрепил ! Debug версия работает нормально, хотя подтормаживает почему-то, а вот Релизная версия искажает вывод и линия уходит в начало экрана, Помогите в чем проблема, и подскажите пожет где есть утечка памяти , почему подтормаживает ведь алгоритм элементарный. Проект создан в MVS 2012, код работает везде одинаково это я проверил
Вложения
Тип файла: rar Маршрут.rar (7.64 Мб, 12 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.04.2013, 21:45
Ответы с готовыми решениями:

Почему Release версия моей программы по разному отображается на разных Win
На win 7/8 программа отображается вот так а на Win XP вот так прорисовуется. Как сделать, что-бы так же прорисовывалось, как на Win 8?

MFC, указатель на CListBox, Release версия
Здравствуйте. У меня проблема: Есть форма, на ней- ListBox, в программе задан как указатель(CListBox *pLBField). Есть функция, которая...

Окончательная версия проекта. Создание Release
У меня такая вот делема, когда я создают программу в VS 2012 c++ то она работает на моем только компьютере а на других нет, я на другом...

16
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
17.04.2013, 22:19  [ТС]
Заранее спасибо

Добавлено через 15 минут
Отладчиком прогнал и почемуто часть кода прорабатывается дважды, хотя это не цыкл, вот эта часть
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HPEN PenNew=CreatePen(NULL,2,RGB(250,0,0));
PenOld=(HPEN)SelectObject(hDC,PenNew);//выбираем кисть
MoveToEx(hDC,(int)Mas[C[0]].X,(int)Mas[C[0]].Y,NULL);
for(int i=1;i<Kol;i++)
    {
    LineTo(hDC,(int)Mas[C[i]].X,(int)Mas[C[i]].Y);
    }
    DeleteObject(PenNew);//удалим кисть
    delete[]Mas;
    Mas=NULL;
    delete[]B;
    B=NULL; 
    for(int i=0;i<Kol;i++) {delete A[i];}
    delete[] A;
    A=NULL;
Добавлено через 9 минут
Странно что в Debug этот кусок один раз проходим, может в настройках чтото надо поменять?

Добавлено через 7 минут
Все спят чтоль уже
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
17.04.2013, 22:47
Mismatched allocation/deallocation route.cpp:147; route.cpp:216 route.exe
интеловский профилировщик показал выше написанное , а вообще если во время профилирования потыкать хаотично по кнопкам то вообще аварийно завершается , попробуй студийный профилировщик запустить и он покажет слабые места. route.cpp - это товой Main.cpp
вот тоже - void MinPath() похоже она подгружает .
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
17.04.2013, 22:53  [ТС]
мало что понял из выше сказанного, как проблему то решить?

Добавлено через 25 секунд
кнопки тыкаю работает
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
17.04.2013, 23:02
только сейчас заметил ,а зачем ты из wndproc вызываешь ее же , может опредилить другую функ. и перенести в нее часть алгоритма или отсылать сообщения , пусть винда сама дергает wndproc.

Добавлено через 2 минуты
в устройстве профилировщиков не шибко силен но смею предположить что он в зависимости от типа теста нагружает прогу по самое нехочу))) вот она и валится.

Добавлено через 3 минуты
в студии Анализ->профилировщик->запустить профилирование ,я надеюсь студия руссифицирована ))) как по буржуйски не помню.
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
18.04.2013, 05:11  [ТС]
Цитата Сообщение от ssXXss Посмотреть сообщение
только сейчас заметил ,а зачем ты из wndproc вызываешь ее же , может опредилить другую функ. и перенести в нее часть алгоритма или отсылать сообщения , пусть винда сама дергает wndproc.
за это спасибо!!! сам не придал значение
а вот что с графикой делать в релиз версии?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
18.04.2013, 22:55
Цитата Сообщение от SergProgC++ Посмотреть сообщение
а вот что с графикой делать в релиз версии?
Mas[C[i]].X и Mas[C[i]].Y равны нулю
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
19.04.2013, 01:54  [ТС]
где равны 0? по шагам прошел вроде все норм только в релизе версии вывод два раза срабатывает почемуто ,вывожу массив полостью вроде не 0, на каком шаге?
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
19.04.2013, 02:25
выложи более свежую версию своего проекта.

Добавлено через 3 минуты
не используй кириллицу в названиях папок проектов или самих проектов , не все IDE хорошо это дело воспринимают.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
19.04.2013, 10:40
C++
1
MoveToEx(hDC,(int)Mas[C[0]].X,(int)Mas[C[0]].Y,NULL);
Точку ставит в (0,0).
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
19.04.2013, 10:59  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
1
MoveToEx(hDC,(int)Mas[C[0]].X,(int)Mas[C[0]].Y,NULL);Точку ставит в (0,0).
не согласен. первая точка массива Mas , это тоже еси я напишу
MoveToEx(hDC,(int)Mas[0].X,(int)Mas[0].Y,NULL);
перая точка отрабатывается верно , линия убегает с последней обычно

Добавлено через 20 секунд
но выхода за пределы массива вроде нет
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
19.04.2013, 11:39
поставьте перед этой строчкой
C++
1
Mas[C[0]].X=Mas[C[0]].Y=100;
Линия прочертиться уже не из точки (0,0) а из точки (100,100)
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
19.04.2013, 11:45  [ТС]
Логично, только у меня две линии получилось теперь, одна из 0,0, а другая из 100,100

Добавлено через 1 минуту
Этим Mas[C[0]].X=Mas[C[0]].Y=100; вы просто 0 элементу массива Mas присваиваем значение 100,100, но от этого линия от последней точки к началу экрана не исчезает
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
19.04.2013, 13:37
Попробуйте этот вариант. У меня не искажает.
prj.rar
1
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
19.04.2013, 13:59  [ТС]
Спасибо, можете объяснить в чем причина?

Добавлено через 1 минуту
&oldpoint - зачем?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
19.04.2013, 14:03
Цитата Сообщение от SergProgC++ Посмотреть сообщение
Спасибо, можете объяснить в чем причина?
у Вас в коде 100500 ошибок, в обращении с памятью, объектами GDI, а так же логических(не факт что все они исправлены и не факт что корректно)

Использование переменных, имена которых ничего не значат и похожи, такие как Kol и Kol_vo и они иногда перепутаны, так же выходы за пределы массива, удаление прикрепленных к контексту перьев и кистей, в комментариях тоже хаос, InvalidateRect сам отсылает сообщение о перерисовке, так что не нужно следом посылать сообщение, хотя вы его не посылаете, а просто вызываете оконную процедуру с параметрами.
0
Эксперт GPSS
 Аватар для SergProgC++
555 / 414 / 105
Регистрация: 02.07.2010
Сообщений: 1,729
19.04.2013, 14:05  [ТС]
спасибо буду изучать и следующий раз учту
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.04.2013, 14:05
Помогаю со студенческими работами здесь

Visual Studio 2008 Release - версия приложения, не объявляется переменная
Здравствуйте, у меня вопрос по Release-версии проекта. Есть проект, отладочная версия компилируется и работает нормально. Релиз версия...

Разница в выводе графики между release и debug
Добрый день. Пример из книги М. Шлее. Qt версия 5.7. У всех так, или только у меня картинки разные получаются? Программу переставлял,...

Не устанавливается release версия
У меня debug версия собирается и устанавливается нормально, но release версия при попытке установить пишет &quot;приложение не...

Release версия для Visual C#
Доброго времени суток! Написал свой первый морской бой на основе библиотеки XNA Game Studio. Но возникла проблема. Сразу скажу, что ранее...

Вывод больших чисел искажает результат вычислений
Есть задача написать программу, которая считывая из входного файла два числа вычисляет их НОД и НОК и записывает в выходной файл. Программа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru