Форум программистов, компьютерный форум CyberForum.ru

Баг в SDL2.0? - C++

Восстановить пароль Регистрация
 
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
30.10.2013, 21:49     Баг в SDL2.0? #1
Здравтсвуйте. Нашел сегодня странное поведение SDL2.0. Стандартный игровой цикл:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <windows.h>
#include <SDL/SDL.h>
 
int WINAPI WinMain(HINSTANCE argc, HINSTANCE a, LPSTR argv, int b) {
    SDL_Init(SDL_INIT_EVERYTHING);
 
    SDL_Window *screen = SDL_CreateWindow("My Game Window",
                          SDL_WINDOWPOS_UNDEFINED,
                          SDL_WINDOWPOS_UNDEFINED,
                          800, 600,
                          0);
 
    SDL_Renderer *renderer = SDL_CreateRenderer(screen, -1, SDL_RENDERER_ACCELERATED);
    bool running = true;
    SDL_Event event;
 
    while(running) {
        while(SDL_PollEvent(&event)) {
            if(event.type == SDL_QUIT || event.type == SDL_KEYDOWN && event.key.keysym.sym == SDLK_ESCAPE) {
                running = false;
            }
        }
 
        SDL_RenderClear(renderer);
        SDL_RenderPresent(renderer);
    }
 
    SDL_DestroyRenderer(renderer);
    SDL_DestroyWindow(screen);
    SDL_Quit();
    return 0;
}
Смотрю в диспетчере на память: она растет! По 100-200 кб. Путем тыка обнаружил, что во всем этом стоит функция SDL_RenderPresent. Или я пьян или действительно это баг. Протестируйте кто нибуть на своей машине. Буду очень благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Max Dark
30.10.2013, 22:11
  #2

Не по теме:

к теме о багах SDL2...
у SDL2 есть толи баг толи фишка - если создать более одного окна, то при попытке закрытия любого окна сообщение SDL_QUIT не посылается... OS ubuntu 13.10 x64

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 22:18     Баг в SDL2.0? #3
Цитата Сообщение от anubis1768 Посмотреть сообщение
она растет! По 100-200 кб
За какое время?
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
30.10.2013, 22:20  [ТС]     Баг в SDL2.0? #4
Cra3y, если у вас есть установленный SDL, то попробуйте выполнить этот код. Мне вот интересно: это же логично не возможно, чтобы разработчики такое допустили, значит я что то накосячил. Ну а что - пока что не знаю.

Добавлено через 56 секунд
Цитата Сообщение от alsav22 Посмотреть сообщение
За какое время?
Каждая секунда в промежутке 100-200кб. А у вас все нормально выполняется да?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 22:21     Баг в SDL2.0? #5
Ничего особенного не увидел.
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
30.10.2013, 22:24  [ТС]     Баг в SDL2.0? #6
Цитата Сообщение от alsav22 Посмотреть сообщение
Ничего особенного не увидел.
То есть у вас не растет память или вы ничего особенного не увидили в таком росте? Уточните пожалуйста. Быть может, компилятор mingw с SDL не дружит. Глупое предположение, но пока что лучшего у меня ничего нет
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 22:26     Баг в SDL2.0? #7
Цитата Сообщение от anubis1768 Посмотреть сообщение
То есть у вас не растет память или вы ничего особенного не увидили в таком росте?
Не растёт.
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
30.10.2013, 22:34     Баг в SDL2.0? #8
У меня так же роста памяти не замечено
Возможно, то что вы наблюдаете, это особенность Windows версии
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
30.10.2013, 22:47  [ТС]     Баг в SDL2.0? #9
Cra3y, но у alsav22 также Windows (насколько я понял) и рост не замечен. И вообще, я не понимаю, почему когда я вместо WinMain пишу int main(int argc, char **argv) то ругается, что нету функции мейн, хотя в SDL есть макрос SDL_Main, который для конкретной платформы должен разворачиватся в нужный main. Быть может, я в настройках проекта CodeBlocks что то накосячил. Пошел качать Видимую студию, если и там будет такая лажа, то уже и не знаю дальше что делать...
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
30.10.2013, 22:55     Баг в SDL2.0? #10
Под Windows надо создавать консольный проект для использования main
под *nix он всегда консольный)
Max Dark
30.10.2013, 23:10
  #11

Не по теме:

Попробуйте откомпилить следующий код sdlapp.zip

alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
30.10.2013, 23:19     Баг в SDL2.0? #12
Цитата Сообщение от anubis1768 Посмотреть сообщение
Быть может, я в настройках проекта CodeBlocks что то накосячил.
....
Миниатюры
Баг в SDL2.0?  
anubis1768
4 / 4 / 0
Регистрация: 23.02.2013
Сообщений: 151
30.10.2013, 23:51  [ТС]     Баг в SDL2.0? #13
Cra3y, Скомпилировалось. alsav22, ну и что?? Все равно, даже если выставить консольное приложение, оно ругается на стандартный мейн. Ну ближе к самой проблеме: память хоть и поднимается, но в определенный момент падает почти к начальной позиции. Наверное, какая то особенность на моей системе, потому что екзешник от Визуал студии ведет себя таким же образом. Думаю, что на этом не нужно зацыкливатся: компилируется вот и хорошо. Всем спасибо за помощь и внимание.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2013, 23:57     Баг в SDL2.0?
Еще ссылки по теме:

SDL2 оперативная память C++
C++ Подключение SDL2 в проект
C++ Проклятый SDL_SetVideoMode в SDL2

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

Или воспользуйтесь поиском по форуму:
Max Dark
В поиске работы
 Аватар для Max Dark
1546 / 1399 / 501
Регистрация: 09.10.2013
Сообщений: 3,185
Записей в блоге: 8
Завершенные тесты: 2
30.10.2013, 23:57     Баг в SDL2.0? #14
Я думаю что просто происходит кэширование выделенной памяти для программы.
А после определенного времени кешированая, но неиспользованная память возвращается системе
Yandex
Объявления
30.10.2013, 23:57     Баг в SDL2.0?
Ответ Создать тему
Опции темы

Текущее время: 10:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru