| Author |
Message |
|
|
день добрый!
когда уже можно будет пощупать 7-ю альтернативу?? Мы на распутье...
|
 |
|
|
Антон, вы конечно правы по поводу подготовки данных... Мне не дает покоя одна мысль - что будет быстрее, хранить и обрабатывать геометрию в AS3 коде через Vector3D + Matrix3D & etc, или загружать геометрию прямиком в код, полностью сгенерированный алхимией, а на вход из AS3 подавать только какие-то конечные матрицы трансформации камеры и объектов сцены.
На первый взгляд кажется, что _вроде_бы_как_нативные_ Vector3D и Matrix3D в любом случае будут выигрывать у алхимического кода, так как в конце концов это все равно байт-код. Но с другой стороны, не надо забывать, что кеш процессора, это кеш процессора, не важно, что код через виртуальную машину выполняется. Т.е. может так оказаться, что выгоднее обработать массив чисел, лежащих строго друг за другом в соседних адресах памяти с помошью байт-кода, а не массив достаточно тяжелых Vector3D с помощью _вроде_бы_нативных_ методов из Matrix3D. А ведь в виртуальной машине есть неплохой jit-компилятор...
В итоге, может получиться такая ситуация, что при большом количестве вершин в сцене выгоднее будет использовать алхимию для обработки всех геометрических операций, а за AS3 оставить роль _скриптового_ языка - высокоуровневое управление объектами сцены.
С другой стороны, fill rate нас сильно ограничивает сверху по скорости. Да и не известно, как там внутри устроен drawGraphicsData. Т.е. возможно, что падение в скорости из-за увеличения числа треугольников (при неизменной суммарной площади всех спроецированных треугольников) будет сильнее, чем гипотетический выигрыш из-за перехода на алхимию.
|
 |
|
|
День добрый!
Скажите, уважаемые альтернативщики, а вы не пробовали поиграть с адобовским компилятором С++/байт-код? Развиваю свой маленький 3д движок, подумываю, а не перенести ли все геометрические вычисления (трансформация, отсечения, bsp и т.д.) в отдельный модуль, написанный на С/С++, так, что бы на входе были матрицы трансформации объектов сцены, а на выходе был готовый вектор(-ы) с данными для отрисовки. Вроде бы это как раз тот класс задач, где может быть достигнут прирост в скорости.... Или овчинка выделки не стоит и все равно в fill rate векторной рендерилки флеш-плеера упремся?
|
 |
|
|
|
|