Почему захват металлического каркаса «GPU time» полностью отличается от других методовIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Почему захват металлического каркаса «GPU time» полностью отличается от других методов

Сообщение Anonymous »


Существует множество способов узнать, сколько графического времени требуется на один кадр.
[*]Навигатор отладки Xcode > Частота кадров > Время кадра > Графический процессор [*]Metal Performance HUD > Графический процессор [*]Измерение вручную с помощью
commandBuffer.addCompletedHandler {буфер в пусть gpuTime = buffer.gpuEndTime - buffer.gpuStartTime } Все эти три метода показывают одинаковые цифры. Но Metal Frame Capture также показывает GPU Time, и это совершенно другое.

Я запускаю Metal Frame Capture программно для области одного кадра, поэтому он должен измерять тот же рабочий процесс.

override func draw(_ rect: CGRect) { пусть captureDescriptor = MTLCaptureDescriptor() captureDescriptor.captureObject = устройство пытаться! MTLCaptureManager.shared().startCapture(с: captureDescriptor) // код кадра MTLCaptureManager.shared().stopCapture() } Но когда все другие методы показывают 14,2 мс, Metal Frame Capture показывает 7,81 мс с состоянием индуцированной производительности, 5,48 мс с максимальным, code>9,48 мс со средним значением и 18,06 с минимальным.

Таким образом, ни при одном из показателей производительности оно даже отдаленно не напоминает число, показанное в другом месте.

Разве мы не должны думать о времени графического процессора, отображаемом в Metal Frame Capture, как об одном и том же, и сравнивать его только с другими временами графического процессора в самом Metal Frame Capture?

Думаю, для сравнения с целевым значением 16,6 мс следует использовать первые 3 метода. С другой стороны, захват кадров графического процессора не следует использовать для сравнения с конкретным целевым временем графического процессора, но он больше подходит для относительно детального сравнения результатов оптимизации?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Time.time() или time.perf_counter() — что быстрее?
    Гость » » в форуме Python
    0 Ответы
    131 Просмотры
    Последнее сообщение Гость
  • При отладке металлического приложения, подключенного через iPad в xcode, на консоли xcode печатаются некоторые журналы о
    Anonymous » » в форуме IOS
    0 Ответы
    32 Просмотры
    Последнее сообщение Anonymous
  • GPU в GPU прямой передачу данных с помощью ConnectX и RDMA
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Различия между API даты и времени Java 8 (java.time) и Joda-Time
    Anonymous » » в форуме JAVA
    0 Ответы
    73 Просмотры
    Последнее сообщение Anonymous
  • Разница между %time, %%time и %timeit %%timeit в блокноте Jupyter
    Anonymous » » в форуме Python
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»