Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Vulkan API (вышел!) (273 стр)

Vulkan API (вышел!) (273 стр)

Страницы: 1272 273 274 275283 Следующая »
prowkanПостоялецwww14 мая 20189:35#4080
innuendo
> посмотри хотя бы nvap/ags
Ну видел это. Хреново, что вендоры изо всех сил занимаются фрагментацией.
innuendoПостоялецwww14 мая 20189:36#4081
prowkan
> Хреново, что вендоры изо всех сил занимаются фрагментацией.

каждый хочет чтобы его железки были супер-пупер ?

barnesПостоялецwww14 мая 201811:48#4082
g-cont
> Вулкану больше трёх лет, зашёл сюда и слегка охренел. Вы список расширений
> видели? Или VK_KHR чем-то принципиально отличается от GL_ARB? Это уже помойка.
Это элитарная помойка)
MikeNewПостоялецwww16 мая 201811:49#4083
Такой странный глюк словил в этом нашем Вулкане.
Даже не знаю как его сформулировать, похоже что  UV-координаты при ортографической проекции рушатся (выглядит как глюки при рендеринге растрового шрифта, причем рядом с текстурами на 3D объектах все нормально).
Но.
Весь прикол в том что он проявляется строго при определенных условиях.
1. Программа должна быть запущена в полноэкранном режиме.
2. Программа должна быть запущена из под консоли(???!!!) (у меня из под Far Managera глючит)

В других случаях этот глюк не вылазит - если запускать с ярлыка с рабочего стола, то все норм.

А если изменить main так чтобы не создавалось окно консоли - глюк появляется и при запуске с рабочего стола (но опять же строго в полноэкранном режиме, в окне все хорошо).

Причем вылечился он у меня так - перед созданием VkImage для шрифта, надо создать какой-нибудь левый ненужный другой VkImage (и обязательно не забыть его прибиндить). После этого глюк исчезает и больше его пока словить не удается.
Божественной сути подобного странного глюка я постичь не сумел, что печалит -  я как-то привык контролировать работу своей программы.

DelfigamerПостоялецwww16 мая 201812:34#4084
MikeNew
Небось UB балуетесь? :3

Правка: 16 мая 2018 12:34

MikeNewПостоялецwww16 мая 201812:45#4085
Delfigamer
> Небось UB балуетесь? :3
Что за UB? Uniform Buffer? :)
Расшифруйте пожалуйста, я новичок.
gammakerПостоялецwww16 мая 201813:13#4086
MikeNew
UB - undefined behaviour.
Такое бывает, если попортить память, например вылезти за пределы массива и там что-то перезаписать или дважды удалить один и тот же объект. Тогда поведение программы меняется непредсказуемым образом в зависимости от того, что там и где в памяти лежало. А это может варьироваться от запуска к запуску и, как говорится, зависит от фазы луны.
MikeNewПостоялецwww16 мая 201813:53#4087
gammaker
> Такое бывает, если попортить память, например вылезти за пределы массива и там
> что-то перезаписать или дважды удалить один и тот же объект. Тогда поведение
> программы меняется непредсказуемым образом в зависимости от того, что там и где
> в памяти лежало. А это может варьироваться от запуска к запуску и, как
> говорится, зависит от фазы луны.
Ясно.
Может оно, конечно и так, надо будет перепроверить (обычно при выходе за пределы массива краш происходит). Баг, кстати, вылазит почему-то строго при втором запуске, но на второй раз гарантировано виден всегда.
Сейчас собрал проект на другой машине (там Win10x64 вместо Win7x64, другая видеокарта) - этого бага нет.
Update: екзешник, собранный на машине с багом, так же НЕ дает бага на второй машине. Странно это, может быть глюком семерки/драйверов?

Правка: 16 мая 2018 13:59

faserg1Постоялецwww16 мая 201814:13#4088
MikeNew
> Странно это, может быть глюком семерки/драйверов?
Скорее тогда компилятора. И да, в начале спецификации Vulkan говорится, что сделаете что-то не по правилам — Vulkan за это не в ответе, сами виноваты.
gammakerПостоялецwww16 мая 201820:15#4089
MikeNew
> Сейчас собрал проект на другой машине (там Win10x64 вместо Win7x64, другая
> видеокарта) - этого бага нет.
Может видеодрайвер пишет за пределы массива, а на другой не пишет. У меня когда-то был подобный баг с OpenGL. На AMD и NVidia всё работало отлично, а Intel писал за пределы массива, потому что в OpenGL я передавал размер массива больше, чем он был на самом деле. Мне было лень хранить размер массива и передавал от фонаря большое число вроде 1000, потому что перед этим запросил эту длину и выделил массив достаточного размера. То есть я знал, что длина возвращаемой OpenGL строки будет точно не больше. Но драйвер Intel руководствовался альтернативной логикой и зачем-то кроме терминирующего нуля в конце строки записал ещё один нулевой байт по смещению 1000. И этот единственный нулевой байт был неуловим, потому что не приводил крашу или приводил, но очень не скоро и в разных местах. Я целый год не мог исправить этот баг, потому что у меня на тот момент не было Intel'а, а у других подебажить возможности не было. В итоге нашёл и исправил этот баг только когда купил себе Intel.
innuendoПостоялецwww16 мая 201820:41#4090
gammaker
> Мне было лень
...
gammakerПостоялецwww16 мая 201820:46#4091
innuendo
> gammaker
> > Мне было лень
Да, правильные слова выделил)
DelfigamerПостоялецwww16 мая 201821:33#4092
Ну господа, если вы у себя вызываете демонов, то не надо потом удивляться, что из кода каким-то образом начинают вылезать черти.

Правка: 16 мая 2018 21:33

AndreyПостоялецwww16 мая 201823:17#4093
MikeNew
баг у тебя в коде. У меня подобное работает отлично без багов.
innuendoПостоялецwww17 мая 20183:08#4094
кстати, у кого NVidia, запустите для теста демку Chopper для сабжа
Страницы: 1272 273 274 275283 Следующая »

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр