Я создаю веб-приложение, которое отобразит большое количество миниатюр изображений в виде 3D-облака и предоставит возможность нажимать на отдельные изображения для запуска большого вида. Я успешно сделал это в CSS3D, используя three.js, создав THREE.CSS3DObject для каждого миниатюры, а затем добавьте миниатюру в виде изображения svg :.WebGL vs CSS3D для большого разброса изображений
Он отлично работает для upto ~ 1200 эскизов, а затем производительность начинает снижаться (очень низкое FPS и длительное время загрузки). К тому моменту, когда вы нажмете 2500 эскизов, это непригодно. В идеале я хочу работать с более чем 10 тыс. Эскизов.
Из того, что я могу сказать, я смогу достичь такого же результата, создав каждый миниатюру в виде сетки WebGL с текстурой. Я новичок с three.js, хотя, поэтому, прежде чем я приложил все усилия, я надеялся на руководство, могу ли я ожидать, что производительность будет лучше или я просто прошу слишком много 3D в браузере?
, учитывая, что есть полномасштабные 3D-двигатели [работает в браузерах] (https://blog.mozilla.org/blog/2014/03/12/mozilla-and-epic-preview-unreal-engine-4-running- in-firefox /), 2500 миниатюр не очень много. –
Это тоже была моя мысль - я был удивлен выступлением. Вполне возможно, что в моем коде есть что-то неэффективное. – senecaur
2500 эскизов убьет перфоманс. То, как быстро двигаются игровые движки, ОПТИМАЛЬНО, ЧТО ОНИ ПРОЙДЕТ! Они рисуют как можно меньше. Они объединяют текстуры в текстовые атласы, объединяют сетки в большие сетки. Они получают свои призывы на призыв до <5000, [часто до 1000] (http://www.adriancourreges.com/blog/2015/03/10/deus-ex-human-revolution-graphics-study/). Итак, если вы хотите отображать 10k изображений, вам понадобится объединить сетки и объединить текстуры. Даже встроенная сборка не преуспеет с 10k отдельных текстур и 10k рисовать звонки. – gman