Войти
ПрограммированиеФорумГрафика

Я не понимаю что происходит: камера на углах Эйлера (4 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#45
23:56, 11 июня 2018

MrShoor
Забавно, что если std::endl заменить на "\n" или удалить, то оптимизация:

+ Показать

резко перестает срабатывать, и цикл заканчивается на 4й итерации

#46
0:01, 12 июня 2018

IBets
> В код я сделал вот такое изменение и все заробило
зачем тебе Poll? У тебя ввод не буферезированный судя по тому что ты используешь GetDeviceState.

for(int i=0; i<1; i++)
{
  HRESULT hr = p_Device->GetDeviceState( sizeof(DIMOUSESTATE2), &ms2 );
  if(hr != DI_OK && (hr == DIERR_NOTACQUIRED || hr == DIERR_INPUTLOST))
    if(DI_OK == (p_Device->Acquire()))
      i--;
}
#47
0:02, 12 июня 2018

IBets
> Ну статическим анализатором надо прогнать. Я думаю у меня ошибка в шаблонах
> где-то, но компилятор все равно создал код. Такое бывает. Но все равно все
> очень странно потому что я без перекомпиляции запускаю .exe. И он всегда ведет
> себя по разному. То FPS низкий, то черный экран, то Error SwapChain->Present,
> то стабильная работа
Ну так очевидные признаки UB же.
Попробуй повыключать части программы, чтобы хотя бы примерно найти участок, в котором ошибся. Тогда будешь хотя бы знать, на какую процедуру обратить внимание в первую очередь.
Ну или да, можно ещё навесить всяких отладчиков. Помнится, пример в #30 я ловил с использованием Global Flags. Есть ещё Valgrind, но он как-то нетривиально включается, и я им не пользовался.

entryway
¯\_ツ_/¯ Undefined behavior, он на то и undefined, что на него не накладывается никаких ограничений. Иногда, он даже делает именно то, чего ты хотел.

#48
0:04, 12 июня 2018

IBets
> И он всегда ведет себя по разному. То FPS низкий, то черный экран, то Error
> SwapChain->Present, то стабильная работа
>
не инициализированные переменные.

#49
0:05, 12 июня 2018

IBets
> блокноте только на Python писать можно

а какое есть UB в Python?

#50
0:05, 12 июня 2018

Aroch
SDK D3D11 там так

#51
0:08, 12 июня 2018

Aroch
> не инициализированные переменные.
Ну я надеюсь, ИБетс уже догадался скомпилировать и запустить свою программу в профиле "Debug", где компилятор самостоятельно инициализирует все переменные всякими 0xcccccccc, чтобы подобное безобразие сразу же падало на segfault.
Ведь догадался же?

#52
0:11, 12 июня 2018

Delfigamer
Естественно.

#53
0:13, 12 июня 2018

Delfigamer
> чтобы подобное безобразие сразу же падало на segfault.
да в том и дело что не факт что будет падать, если там зависимость не явная.

#54
0:15, 12 июня 2018

IBets
> SDK D3D11 там так
причем тут D3D и DirectInput? И в 11 sdk все еще используется directinput8 который нет смысла обновлять.

#55
0:16, 12 июня 2018

Aroch
Дело мне кажется в D3D11 из-за порядка вызовов. Я когда-то случайно неверные данные дал у меня BSOD был, я повторил и снова BSOD ну и т.д.

#56
0:17, 12 июня 2018

Aroch
Я исправил косяк с DirectInput возник новый смотри про SwapChain пост

#57
0:19, 12 июня 2018

IBets
Если случай тяжелый и все запущенно, то тебе уже сказали, вырубай куски кода пока баг не пропадет, после чего постепенно добавляешь обратно локализуя проблему.

#58
0:20, 12 июня 2018

Aroch
Да я так и делаю. Я вывожу LightVolume там косяк походу

#59
0:20, 12 июня 2018

IBets
> Я исправил косяк с DirectInput возник новый смотри про SwapChain пост
его и не было там, от того что у тебя девайс пробыл бы не захваченным 1 лишний update погоды вообще бы не сделало.

Страницы: 1 2 3 4 5 6 7 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.