В процессе разработки, продвижения и т.д. и периодически появляются "хитрые" проблемы, которые не совсем понятно как решать. Поэтому я предлагаю здесь делиться подобными решениями таких вот проблем и всякими другими hint'ами.
1. Jpeg Текстуры. При сохранении в Jpeg формат нельзя включать Progressive (где-то галочку предлагают, где-то еще что). Это может привести к тому, что на некоторых операционках D3dX функции не смогут их загрузить. В частности это вылезло на Vista Home 32bit. Этот хинт для DX девелоперов.
2. Система вылетает в BSOD в D3D приложении на Intel845 (возможно на других тоже есть). Это происходит из-за рендера "тяжелой" геометрии, порядка 3-5 kpoly и выше. Это бага драйвера. Вылет происходит рандомно, отследить причину довольно сложно, поймать место вылета нельзя. Выяснилось экспериментальным путем.
3. На некоторых видеокартах при использовании вертексных шейдеров при остутствии расчета какого-либо параметра данный параметр рассчитывается автоматически на FFP. Т.е. например забыли про туманв шейдере, запустили приложение, а там он есть. Это может ввести в заблуждение, что вроде бы все работает как надо. Это было на Radeon 9100, собственно про туман и забыл :)
Встречался с очень странным багом(виимо в дровах видюхи) - когда все вертексы у полигона совпадали, то начинались тормоза жуткие(не смертельные, но неприятные). И наблюдалось это только на пеньках, на амд процах все было нормально.
Мораль- следить за тем чтобы в геометрии небыло вертексов с одинаковыми координатами.
[Edit]
Alex_ch тут подсказывает что это возможно из-за того что была включена автогенерация нормалей, а для вырожденых в точку треугольников могли вылазить исключения на пеньках при просчете нормалей, поэтому там и были тормоза. Вообщем имейте ввиду:)
Размеры монитора в системе могут быть неверно указаны производителем, поэтому автоопределение aspect ratio может сработать некорректно.
2Zeratul: Не придумали как это обойти? М.б. диапазоны для проверки сделать пошире, например не x < 1.3333f, а x < 1.35f ?
Alex_ch
Да, можно.
Но, лучше всего делать дабл чек. Первый по физ размерам, второй по доступным разрешениям. Если оба успешны на вайд скрин, то ставить вайд, если хоть один не сработал, то просто оставить нормальный режим.
Интел снова порадовал, на этот раз Intel Intergrated Graphics Media Accelerator X3100.
Суть проблемы - не работает ветвление в пиксельном шейдере v2.0.
Тема в архиве.