Вы установили, что холст не имеет большого значения?
gl = someCanvas.getContext("webgl", { premultipliedAlpha: false });
Значение по умолчанию для WebGL равно true. По умолчанию для большинства приложений OpenGL установлено значение false
В дополнение к этому WebGL компонуется с остальной частью страницы. Как минимум, это цвет фона холста или того, что внутри (тело вашего документа).
Чтобы убедиться, что это проблема, попробуйте установить цвет фона вашего холста на фиолетовый или что-то, что будет торчать
<canvas ... style="background-color: #F0F;"></canvas>
или в css
canvas { background-color: #F0F; }
Приложения OpenGL редко компонуются над чем-либо, где приложения WebGL эффективно компонуются ВСЕГДА.
Некоторые решения
gl = someCanvas.getContext("webgl", { alpha: false });
Теперь альфа будет эффективно 1 // clear only the alpha channel to 1
gl.clearColor(1, 1, 1, 1);
gl.colorMask(false, false, false, true);
gl.clear(gl.COLOR_BUFFER_BIT);
, не забудьте установить цветовую маску обратно ко всем true, если вы необходимо очистить цветной буфер позже canvas { background-color: #000; }
Если возможно, я бы выбрал отключение альфа. Причина, по которой альфа отключена, позволяет браузеру отключить смешение при рисовании холста в браузере. Это может быть увеличение скорости на 10-20% или более в зависимости от графического процессора. Нет никакой гарантии, что любой браузер сделает эту оптимизацию, только это можно сделать, тогда как с другими 2 решениями это невозможно или, по крайней мере, гораздо менее вероятно
Для некоторых проектов я использую Capistrano для выставления для проживания. Это создается сверху рубина и делает, развертывают сценарий, пишущий супер легкий, и использует ssh.
На других проектах у меня есть крошечное, развертывают приложение, которое использует удар, чтобы сделать экспорт svn во временный каталог и затем rsync это к живому серверу. Можно заставить rsync использовать ssh.
Я значительно предпочитаю метод Capistrano, даже если Ваш проект не находится в рубине/направляющих.
Это походит на вид вещи, которая могла быть сделана легко с SFTP. Смотрите на PuTTY (psftp и pscp) или WinSCP для Windows, или rsync и OpenSSH для Unixes.
@Neall, я добавил бы a set -e
на второй строке, потому что Вы не хотите живой сайт, заменяемый если rsync
сбои по любой причине. set -e
заставляет сценарий выходить, если какая-либо из его команд перестала работать.
Править: set -e
должна быть первая вещь в сценарии, прямо после #!/bin/bash
.
Сделайте копию своего живого каталога сайта, используйте rsync для обновления той копии с последней версией, затем переименуйте живые и обновленные каталоги так, чтобы обновленная версия была теперь жива.
В ударе:
#!/bin/bash
set -e
cp -R /var/livesite /var/newversion
rsync user@devserver:/var/readytogolive /var/newversion
mv /var/livesite /var/oldlivesite
mv /var/newversion /var/livesite
Viola!
Править: @Ted Percival - Это - хорошая идея. Я даже не знал о "наборе-e". Обновленный сценарий. Править: обновленный снова в предложении Ted's (хотя я думаю, что оно все еще работало бы, если бы так или иначе команда CP перестала работать, и если CP приводит Вас к сбою, вероятно, имеют более серьезные проблемы.)
Вы могли всегда писать маленькое клиент-серверное приложение, которое шифрует в источнике, продвигает файлы и затем дешифрует в месте назначения. Это - определенная работа, но вероятно тривиальная сумма. И это scriptable пока Ваши поддержки средства автоматизации, выполняющие что-то в файловой системе (который я думаю, что все делают).
Единственный недостаток - то, что Вы не можете получать значимые сообщения об ошибках при отказе в Вашей среде интеграции без немного большего количества работы с Вашей стороны (хотя в зависимости от Вашей установки, это могло быть столь же просто как отправляющий сообщения об ошибках в stdout).
гм, здесь мы используем подготовку "сервер" для тестирования на продуктивной среде (на самом деле, апачский виртуальный хост на рабочем сервере) и слияние araxis (действительно умное линию за линией инструмент сравнения файлов) для синхронизации разработки и подготовки.
однажды его протестированный, просто; замените файлы на производстве webroot :)
/mp
Я буду второй рекомендация для Capistrano, хотя при поиске основанного на GUI решения, Вы могли бы попробовать фронтэнд Webistrano. Чистая, находящаяся в ssh, нормальная семантика развертывания и отката и легкие сценарии и расширяемость через рубин.
На внештатном задании я сделал, мы настраиваем три отдельных среды.
Рабочий процесс как сопровождался: