I.S.X

製品紹介

DisplayPort Adaptive-Sync対応


Adaptive-Syncとは

Gameで高い表示レートを使用しているとき、GPUで画像の準備が間に合わない場合に、一時的にFrame Rateを下げて表示する機能があります。VRR(Variable Refresh Rate)と呼ばれる機能です。

VRRは一般名称で、VESA規格の名称ではAdaptive- Syncと呼ばれています。VESA規格の元であるAMDが開発したFree-Syncという名称も使用されています。

DisplayPortの対応

図1 DisplayPortの送信Timing (出典: VESA DisplayPort Standard 1.4a)

DisplayPortをAdaptive-Syncに対応するために必要な機能はほとんど無く、以下の項目の修正で対応できます。

  • MSA Timing ignoreを有効にする。
    Sink側のDPCDを操作して、MSA_TIMING_PAR_IGNORE_EN Flagを有効にします。垂直同期周波数が可変するため、MSAの情報は無視する必要があります。
  • SDPを使用してVSYNC位置を送信する。
    Front Porchが変化するため、Monitor側でVSYNC再生の位置が分からなくなります。Back Porchを一定にするため、図1のようにSDPを使用して位置を送信します。

    Adaptive-Sync SDPが規格で規定されています。
    但し、大半のmonitorはこの機能を使用しなくても動作します。

Signal Generator (Pattern Generator)側は、Frame周波数の可変機能の実装が必要になります。

図1のようなフレーム周波数変更は垂直Blankingの行数を可変することで対応します。図1では

・Frame NとFrame N+1の間の垂直Blankingの行数が伸びています。

・Frame N+1とFrame N+2の間の垂直Blankingの行数は短くなっています。

このような動作を今回追加しました。

iM1671での実機動作

図2 iM1671とAdaptive-Sync対応monitorによる表示

図2が実際にAdaptive-Syncが動作しているときの写真です。FHD画像を 48Hz – 144Hzで可変しています。DisplayPortは5.4Gbps 4laneで送信しています。

 画像は縦長の矩形が水平方向に移動するパターンを表示しています。移動速度は、1frameごとに一定の画素数をしています。Frame周波数が上下することで、矩形の移動速度が変化して見えます。

 今回使用しているMonitorのOSDにFrame周波数を表示する機能があります。画面の右上の数字と赤いグラフがFrame周波数の現在値と履歴を表しています。

固定周波数

VRR動作をしない場合です。Frame周波数は一定になります。

図3はFrame周波数144Hzを示します。

スイッチ

2種類の周波数を交互に切り替える機能です。2種類の周波数と切り替え周期はScriptで設定します。

図4はFrame周波数144Hzと48Hz、切り替え時間はそれぞれ100Frameと50Frameです。

ランプ

2種類の周波数の間で、Frameごとに垂直Blankingの行数を増減します。Blankingの増減をFrameフレームに対して一定速度であるため、Frame周波数は反比例の曲線で変化します。

図5はFrame周波数144Hzと48Hzを100Frameで増減しています。

ランダム

上限と下限の周波数の間をランダムに変化させます。上下限周波数と変化の速度はパラメーターで設定します。

図6はFrame周波数144Hzと48Hzの範囲を、10~100 frameの範囲をランダムに変化させます。

結論と今後

iM1671として、Adaptive-Syncに対応をしました。Frame周波数の可変方式を数種類用意しました。

周波数可変の機能について、どのような機能が必要かは模索中です。

  • VsyncのTrigger機能が欲しい。
  • 上記の4種類の周波数可変以外の可変が必要。

などの要望がありましたら連絡をお願いします。

pagetop