Как исправить экран ('OpenMovie'.. приводящий к падению Matlab
Установка: Matlab Student 2014, Psychtoolbox 3.0.12, GStreamer 1.4.3, ATI Radeon 69xx, все на Windows 7, все 64- битные.
Экран работает с разными аргументами, только при Screen('OpenMovie'
вся программа (Matlab) падает - иногда с ошибкой (невозможно синхронизировать частоту кадров), иногда вообще без ошибок.
Я знаю, что это довольно конкретно, и я думаю, что это как-то в моей конфигурации (код будет работать в другой системе (лаборатории)).
Что я пробовал до сих пор:
- Psychtoolbox 3.0.11, GStreamer SDK, GStreamer 1.4.1
- обновленные драйверы ATI (полный центр управления катализатором,..)
- удалена настройка нескольких мониторов (затрудняет отладку, затем..)
- Сам Matlab работает, GStreamer тоже (пробовал проигрывать фильмы с playbin)
- Все, что SyncTrouble заявляет: ожидание вертикальной синхронизации, тройная буферизация отключена
- переопределение sync-тестов или вообще пропуск (также сбой)
- ищу недостающие библиотеки (для Screen.mexw64)
- VBLSyncTest и PerceptualVBLSyncTest выглядят хорошо и имеют результаты (для меня)
Это должно быть что-то очень простое или очень конкретное - у меня какие-то идеи. Я думаю, что вертикальная синхронизация Radeon при настройке не работает - по какой-либо причине.
ЛЮБЫЕ догадки, советы приветствуются. (даже другие способы проверить экран или вертикальную синхронизацию в Matlab/Psychtoolbox)
1 ответ
После нескольких часов поиска, я думаю, я нашел решение - о, Windows! (и о, одна простая строка кода)
Screen('Preference', 'ConserveVRAM', 4096);
4096 == kPsychUseBeampositionQueryWorkaround Скажите PTB всегда использовать временное решение для прерывистых запросов beamposition в VBL в MS-Windows, даже если автоматический тест запуска не обнаруживает никаких проблем. Это для редких случаев, когда тест не может обнаружить сломанные установки. [Документы Psychtoolbox]
Я сделаю перепроверку после некоторого действия Videocache и перезапущу.
edit: хорошо, это сработало только один раз и случайно во второй раз - кажется, что драйвер ATI Radeon ведет себя не совсем детерминистически - я также проверял на Linux (Ubuntu 14.04.1). В частности, скорость VSync, кажется, ведет себя как-то странно.
Обычно работает на указанном Linux с открытым исходным кодом radeon
водители (вместо fglrx
те) хотя. -> Проблема в той системе Linux: она может быть настроена только как один экран (две настройки монитора были бы хороши для отладки на одном экране). (Да, я пробовал: Unity, Gnome, Xmonad, Gnome+Xmonad - но я думаю, это другая история)
Хорошо, я написал достаточно, мое решение: использовать дистрибутив Linux (хотя и неудовлетворительно, так как я не смог добиться того, чтобы все работало).