Three.js - более высокая частота кадров
Я использую Three.js в сочетании с технологией затвора Nvidia 3D Vision. Я выполняю рендеринг следующим образом:
// Init 3D Vision Camera (Shutter Glasses)
var eye_separation = 0.03; // adjust to the distance of your eyes
var cam_toggle = true;
function animate() {
// Enable 3D Vision
if (cam_toggle) {
camera.position.x += eye_separation;
cam_toggle ^= 1;
} else {
camera.position.x -= eye_separation;
cam_toggle ^= 1;
}
renderer.render(scene, camera);
requestAnimationFrame(animate);
}
По сути, я обнаружил, что частота обновления кадров у графических процессоров такая же и синхронизируется, как у очков затвора. Чтобы создать стереоскопический эффект, я просто переключаю камеру между определенным видом, который изменяется на оси X в этом примере. Это работает очень хорошо! Nvidia описывает в своей документации использование кадрового буфера для переключения двух разных представлений, чего я не делаю. Проблема в том, что я получил только 60 кадров в секунду на максимуме. Но я использую проектор на 120 герц. Так как я могу ускорить рендеринг для каждого вида до 60 кадров в секунду, чтобы получить 120 в комбинации?
1 ответ
В соответствии с этим ответом здесь и его источником здесь работает цикл анимации на частоте 120 Гц, если монитор работает на частоте 120 Гц.