Могло бы быть несколько вещей, отсутствующих:
Это - произвольное предположение, но Ваш ноутбук карта могла бы пропускать этот вид операции вообще (т.е. эмулировать его).
Вы копирующий данные в память GPU (через glBufferData
(GL_ARRAY_BUFFER
или с GL_STATIC_DRAW
или с GL_DYNAMIC_DRAW
параметрический усилитель), или Вы используете указатель на основной (не GPU) массив в памяти? (который требует копирования его каждый кадр, и поэтому производительность является медленной)
, Вы передающий индексы как другой буфер, отправленный через glBufferData
и GL_ELEMENT_ARRAY_BUFFER
параметрические усилители?
, Если те три вещи сделаны, увеличение производительности является большим. Для Python (v/pyOpenGl) это приблизительно в 1000 раз быстрее на массивах, больше, чем пара 100 элементов, C++ до 5 раз быстрее, но на массивах 50k-10m вершины.
Вот мои результаты испытаний для C++ (Core2Duo/8600GTS):
pts vbo glb/e ratio
100 3900 3900 1.00
1k 3800 3200 1.18
10k 3600 2700 1.33
100k 1500 400 3.75
1m 213 49 4.34
10m 24 5 4.80
поэтому даже с вершинами на 10 м это был нормальный framerate, в то время как с glB/e это было вяло.
Я думаю, вам придется сделать это так:
var value = $('#test:checked').length ? $('#test').val() : $('input[name=test]').eq(1).val();
Или написано по-другому
var value = $('input[name=test]').eq(!$('#test:checked').length).val();