Обнаружение рендеринга графического процессора в Flash Player 10 - PullRequest
6 голосов
/ 12 февраля 2009

Очевидно, что во Flash 10 вы можете использовать графический процессор для вычисления шейдеров, и, если у пользователя нет совместимого графического процессора, он возвращается к процессору. Проблема в том, что процессор очень медленно вычисляет фильтры, было бы неплохо обнаружить, если он не может использовать графический процессор, и использовать меньше эффектов. Можно ли обнаружить с помощью Actionscript, если он использует рендеринг GPU?

Ответы [ 6 ]

4 голосов
/ 12 февраля 2009

Почему бы не измерить время, которое требуется, чтобы сделать что-то, и если это заняло слишком много времени, вы отключите некоторые эффекты.

2 голосов
/ 13 февраля 2009

Если под шейдерами вы имеете в виду вещи, которые вы компилируете с помощью набора инструментов Pixel Bender, они не работают на GPU. См:

http://www.kaourantin.net/2008/05/adobe-pixel-bender-in-flash-player-10.html

1 голос
/ 28 сентября 2009

Для определения ускорения графического процессора вы можете прочитать свойство wmodeGPU stage.

1 голос
/ 13 февраля 2009

В ActionScript 3 есть класс Capabilities . Может быть, вы найдете там то, что ищете.

1 голос
/ 12 февраля 2009

Adobe использует OpenGL на платформах, отличных от Windows, для использования аппаратного ускорения, и в OpenGL такого различия нет. Для обеспечения согласованности на разных платформах (что является одной из сильных сторон Flash) желательно поведение.

1 голос
/ 12 февраля 2009

Насколько я знаю, для этого нет API, поэтому я думаю, что поэтому Adobe рекомендует ограничить его использование 1 SWF на страницу HTML и не рекомендует его использовать в баннерах и т. Д., Поскольку он может быть очень дорого для процессора / памяти.

Я думаю, что изящный обходной путь - позволить вашим пользователям выбирать.

...