Конфликт с "FISH"-кой

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Конфликт с "FISH"-кой

Сообщение Yurich » 11.11.2004 (Чт) 21:48

Есть такой красивый скринсавер "FISH", надеюсь, знаете!
Наткнулся на глюк совершенно случайно, ранее включал FISH только в редких случаях.
И вот, когда включена моя прога и выскакивают эти рыбы, мой проект торчит с ошибкой AutomationError &H88760868 (D3DERR_DEVICELOST) в строке D3DDevice.Present ByVal 0, ByVal 0, Picture1.HWnd, ByVal 0

On Local Error ...
устраняет висяк, но рендер прерывается, окно Picture1 остается чистым.
Какие будут соображения?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.11.2004 (Пт) 5:20

Мож та же проблема?
http://bbs.vbstreets.ru/viewtopic.php?t=4468
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 13.11.2004 (Сб) 0:50

У наших модераторов кроме звёздочек ордена в наличии есть?
GSerg писал(а):Мож та же проблема?


Она самая. Спасибо, GSerg!
После не сильно долгих раздумий, решил проблему.
При выходе из "ФИШ"-ки" всё вертается на место.
Только чуть перефразировал код. Отлично работает.

Select Case D3DDevice.TestCooperativeLevel
Case D3D_OK
стандартный рендер
Case D3DERR_DEVICENOTRESET
D3DDevice.Reset D3DPp
далее настройки на основе действующих значений переменных:
позиционирование камеры;
свет, туман;
MatrixPerspective;
TransformMatrix
End Select

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 13.11.2004 (Сб) 9:48

Раз проблема решена, позволю себе перевести тему немного в другое русло.
:?: Что меняется в системных настройках D3D после запуска OpenGL приложений? :?:
Моя игра почему-то немного нестабильно синхронизируется. То есть FPS>200, а изображение подергивается, как будто FPS гораздо ниже частоты кадров. Саму схему синхронизации проверял-перепроверял. Например если вместо машинки двигать точку по форме штатными средствами VB - все равномерно. Рассинхронизация наблюдается далеко не на всех машинах, в основном на БЫСТРЫХ (!?) видеокартах.
Но самое интересное - запускаю Quake3 или другую OpenGL игру, завершаю и запускаю свою - теперь все равномерно...
Кстати, так ведет себя не только моя игра, но и, например, Unreal Tournament.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.11.2004 (Сб) 10:17

А чё там стоит в настройках детонатора (каталиста, не суть)? А то у меня, к примеру, разные страницы для DX и для OpenGL, так что можно там понаставлять разное... Эге, у меня для OpenGL стоит VSync по дефолту, а я и не знал...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 13.11.2004 (Сб) 14:31

Карта Ti4200, соответственно Detonator 56.72. VSinc и прочее для D3D и OpenGL выставляются независимо. Тем не менее пробовал менять настройки - не помогает. То есть если включить VSinc для D3D, то все стабилизируется, но на 85 fps (а в Unreal Tournament и это не помогает). А после Q3 VSinc не включается - 256 fps, при этом все стабильно.
Сладывается ощущение, как будто поток вертексов буферизуется, а из буфера идет на рендер, причем неравномерно. Однако изменение PrerenderLimit в RivaTuner не помогает.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList