D3DPRESENT

Bağdaştırıcı yenileme hızı ile Mevcut veya Sun işlemlerinin tamamlanma hızı arasındaki ilişkiyi açıklar. Bu değerler, D3DCAPS9 PresentationIntervals alanı için bayrak değerleri olarak da görev alır.

Sabit Description
D3DPRESENT_DONOTFLIP
İşleme sırasında hem kaynak hem de hedef yüzey olarak ön arabelleği kullanın. Çerçeve eşitleme zamanlandı, ancak görüntülenen yüzey değişmez. Bu bayrak yalnızca uygulama tam ekran modundayken ve D3DSWAPEFFECT_FLIPEX belirtildiğinde kullanılabilir.
Bu bayrak yalnızca Direct3D 9Ex'te kullanılabilir.
D3DPRESENT_DONOTWAIT
Bir sunu hal cihazı tarafından zamanlanamaz. Bu bayrak Sun çağrısında ayarlandıysa ve donanım işlenmekle meşgulse veya dikey eşitleme aralığı bekliyorsa, Sun işlevi blit işleminin tamamlanmamış olduğunu belirtmek için D3DERR_WASSTILLDRAWING döndürür.
D3DPRESENT_FLIPRESTART
Rezerve edilmiş.
D3DPRESENT_FORCEIMMEDIATE
bu Present çağrısında D3DPRESENT_INTERVAL_IMMEDIATE zorlanır. Bu bayrak yalnızca D3DSWAPEFFECT_FLIPEX kullanılırken belirtilebilir. Pencereli ve tam ekran sunu davranışları aynıdır. Bu, özellikle geç olarak algılanan çerçeveleri atmak ve sonraki kareleri oluşturma zamanında sunmak isteyen medya uygulamaları için kullanışlıdır. Bu bayrak yanlış belirtilirse geçersiz parametre hatası döndürülür. D3DPRESENT_FORCEIMMEDIATEs içeren ardışık birden çok çerçeve kuyruğa alındığında, hem pencereli hem de tam ekran sunu için yalnızca son çerçeve görüntülenir.
Bu bayrak, Windows 7 veya sonraki işletim sistemlerinde Direct3D 9Ex'te kullanılabilir.
D3DSWAPEFFECT_FLIPEX kullanılırken, D3DPRESENT_INTERVAL_IMMEDIATE veya D3DPRESENT_INTERVAL_FORCEIMMEDIATE kullanılarak sunulan her çerçeve, önceki çerçevenin mevcut aralığını geçersiz kılar. Örneğin, aşağıdaki takas efektlerini kullanarak aşağıdaki kareleri kuyruğa alırsanız: A çerçevesi (D3DPRESENT_INTERVAL_ONE), çerçeve B(D3DPRESENT_INTERVAL_ONE), çerçeve C(D3DPRESENT_INTERVAL_ONE), çerçeve D(D3DPRESENT_INTERVAL_FORCEIMMEDIATE), D çerçevesi D çerçeve C'nin mevcut aralığını geçersiz kılar. Mevcut aralık başına görüntülenen çerçeveler A çerçevesi, B çerçevesi (C çerçevesi geçersiz kılınan) çerçeve D'dir.
Bkz. Açıklamalar.
D3DPRESENT_INTERVAL_DEFAULT
Bu, D3DPRESENT_INTERVAL_ONE neredeyse eşdeğerdir. Açıklamalara bakın.
D3DPRESENT_INTERVAL_ONE
Sürücü dikey geri çekme süresini bekler (çalışma zamanı, yırtılma önlemek için "ışınla takip eder"). Sunum işlemleri, ekran yenilemesinden daha sık etkilenmez; çalışma zamanı, bağdaştırıcı yenileme süresi başına en fazla bir Present işlemi tamamlanır. Bu, DirectX 8.1'de D3DSWAPEFFECT_COPY_VSYNC kullanmaya eşdeğerdir. Bu seçenek hem pencereli hem de tam ekran değiştirme zincirleri için her zaman kullanılabilir. Açıklamalara bakın.
D3DPRESENT_INTERVAL_TWO
Sürücü dikey geri çekme süresini bekler. Sunum işlemleri, her saniye ekran yenilemesinden daha sık etkilenmez. Sürücü tarafından D3DPRESENT_INTERVAL_TWO desteklenip desteklenmediğini görmek için PresentationIntervals üst sınırına bakın (bkz. D3DCAPS9).
D3DPRESENT_INTERVAL_THREE
Sürücü dikey geri çekme süresini bekler. Sunum işlemleri, her üçüncü ekran yenilemesinden daha sık etkilenmez. Sürücü tarafından D3DPRESENT_INTERVAL_THREE desteklenip desteklenmediğini görmek için PresentationIntervals üst sınırına (bkz. D3DCAPS9) bakın.
D3DPRESENT_INTERVAL_FOUR
Sürücü dikey geri çekme süresini bekler. Sunum işlemleri, her dördüncü ekran yenilemesinden daha sık etkilenmez. Sürücü tarafından D3DPRESENT_INTERVAL_FOUR desteklenip desteklenmediğini görmek için PresentationIntervals üyesini denetleyin (bkz. D3DCAPS9).
D3DPRESENT_INTERVAL_IMMEDIATE
Çalışma zamanı pencere istemci alanını hemen güncelleştirir ve bağdaştırıcı yenileme süresi boyunca bunu birden çok kez yapabilir. Bu, DirectX 8'de D3DSWAPEFFECT_COPY kullanmaya eşdeğerdir. Mevcut işlemler hemen etkilenebilir. Bu seçenek hem pencereli hem de tam ekran değiştirme zincirleri için her zaman kullanılabilir. Açıklamalara bakın.
D3DPRESENT_LINEAR_CONTENT
Sunulacak arka arabelleğin içeriği doğrusal renk alanındadır.
  • Sunu örtük olarak doğrusal uzaydan sRGB'ye (gama = 2,2) dönüştürülür. Desteklenen tek dönüştürme budur.
  • Bu bayrak, arka arabellek içeriğinin bir özelliğini temsil ettiğinden, bayrağı bir Present çağrısı sırasında belirtilebilir. Başka bir deyişle, bir uygulama doğrusal içeriği tek bir çerçevede sunabilir ve ardından bir sonraki karede düzeltilmiş içeriğe geçebilir.
  • Değiştirme zinciri tam ekran olduğunda bu bayrak yoksayılır. (Bu bayrağın yalnızca Present'ın açık takas zinciri sürümünde kullanılabildiğini unutmayın. Present yöntemi flags parametresi almaz.)
  • Bu bayrak her zaman kabul edilir, ancak yalnızca sürücü D3DCAPS3_LINEAR_TO_SRGB_PresentATION kullanıma sunarken >geçerlilik kazanır.
  • Desteklenen tek geri arabellek biçimi X8R8G8B8.
Bkz. Pencereli Değiştirme Zincirleri.
D3DPRESENT_VIDEO_RESTRICT_TO_MONITOR
İşlenen içerikleri bağdaştırıcının hedeflendiği monitöre/cihaza klipler, Flip3D görünümünde içeriğin küçük resimlerini ve diğer monitörlerde görev çubuğu küçük resimlerini gösterir.
Bu bayrak yalnızca Direct3D 9Ex'te kullanılabilir.
Windows Vista'nın bu özelliği hakkında daha fazla bilgi için bkz. Masaüstü Pencere Yöneticisi . Masaüstü oluşturma modunda çalışmıyorsanız, bayrak D3DPRESENTFLAG_DEVICECLIP ile aynı davranışı verir.
Not: Bu bayrak yalnızca değiştirme efekti D3DSWAPEFFECT_FLIPEX kullanılmalıdır. Bu bayrağın diğer takas efektleriyle kullanımı kullanım dışı bırakılıyor ve Windows'un gelecek sürümlerinde çalışmayabilir.
D3DPRESENT_UPDATEOVERLAYONLY
Gerçek bir çevirmeye neden olmadan ve görüntünün görüntülendiği süreyi değiştirmeden katman konumunu veya renk anahtarı verilerini güncelleştirir.
Bu bayrak yalnızca Direct3D 9Ex'te kullanılabilir.
D3DPRESENT_HIDEOVERLAY
Katman donanımını kapatır.
Bu bayrak yalnızca Direct3D 9Ex'te kullanılabilir.
D3DPRESENT_UPDATECOLORKEY
Renk anahtarı verilerini yeniden çizer.
Bu bayrak yalnızca Direct3D 9Ex'te kullanılabilir.

Açıklamalar

Pencereli mod D3DPRESENT_INTERVAL_DEFAULT, D3DPRESENT_INTERVAL_IMMEDIATE ve D3DPRESENT_INTERVAL_ONE destekler. D3DPRESENT_INTERVAL_DEFAULT ve D3DPRESENT_INTERVAL_ONE neredeyse eşdeğerdir (aşağıdaki zamanlayıcı çözünürlüğüyle ilgili bilgilere bakın). Çerçeve başına yalnızca bir tane mevcut olduğu için COPY_VSYNC benzer bir performans sergilerler ve ışın takip ile yırtılmayı önlerler. Buna karşılık, D3DPRESENT_INTERVAL_IMMEDIATE sınırsız bir sunu oranı sağlamaya çalışır.

Tam ekran modu, yenileme hızı veya değiştirme etkisinden bağımsız olarak D3DPRESENT_INTERVAL_IMMEDIATE destekleyerek pencereli modla benzer kullanımı destekler. D3DPRESENT_INTERVAL_DEFAULT varsayılan sistem zamanlayıcı çözünürlüğünü kullanırken, D3DPRESENT_INTERVAL_ONE sistem zamanlayıcı çözünürlüğünü geliştirmek için timeBeginPeriod'ı çağırır. Bu, dikey eşitlemenin kalitesini artırır, ancak biraz daha fazla işlem süresi tüketir. Her iki parametre de dikey olarak eşitlemeyi dener.

Gereksinimler

Gereksinim Değer
Header
D3d9.h

Ayrıca bakınız

Direct3D Sabitleri