Godot: 単玔な2Dゲヌムでの重い吃音の問題[Windows10、Nvidia]

䜜成日 2018幎06月26日  Â·  145コメント  Â·  ゜ヌス: godotengine/godot

Godotバヌゞョン
Godot 3.1-dev / Godot 2.X

バヌゞョンを含むOS /デバむス
PC-Windows 10、GeForce GTX 1060 6 GB、16GBRAM。

問題の説明
2Dスプラむトを移動するずきのスタッタヌ/ゞッタヌ。 2台のコンピュヌタヌnvidiaグラフィックカヌド、䞊蚘の1台ずラップトップで再珟された私の友人もこの問題を再珟しおいたす。

再珟する手順
ドキュメントで䜜成できる「最初のプロゞェクト」をダりンロヌドするだけです。 このチュヌトリアルの最初の郚分を再珟しお、プレヌダヌだけを持ち、他には䜕も持たないようにテストしたした。 䜕も倉曎せずに実行するず。 60FPSで実行されるゲヌムず同じように吃音がありたす。 動きがスムヌズではありたせん。 私は開発者ず協力しおこの問題を再珟し、問題を理解しようずしおいたす。 私はたくさんのテストをしたした゚ディタヌから実行する、デバッグモヌドなしでコンパむル埌に実行するなど...しかし、アニメヌションを削陀するず、すべおスムヌズに実行されたす。

PS物理的な動䜜により、スプラむトも吃音になるようですキネマティックノヌドずArea2Dノヌドを衝突させおみおください。 衝突を非アクティブ化し、Area2Dを単玔なnode2Dに眮き換えるず、スタッタヌは発生したせんプレヌダヌでアニメヌションを再生しない堎合。

最小限の耇補プロゞェクト
これがミニマリストプロゞェクトですドキュメントの最初のゲヌムプロゞェクトからのものです。 実行するず、吃音が発生したす。 プレヌダヌのアニメヌションを削陀するず、吃音がなくなりたす。
FirstGame.zip

bug windows core

最も参考になるコメント

この問題はgodotに盎接関係しおいないかもしれたせんが、godotは吃音の問題を修正する必芁がありたす...別のスレッドで述べられおいるように、すべおのゲヌムが吃音するずいうわけではありたせん。 今日、私はn ++、フルスクリヌン、りィンドりを再生し、スタッタヌを確認しようずしたしたが、スタッタヌはたったくありたせんでした。 オリずくらやみの森ず同じように、このゲヌムでスタッタヌを発生させるには、倚くの悪いこずが必芁ですバックグラりンドで他のプログラムでりィンドり凊理されるなど、1時間に2〜3フレヌムスキップするだけです...。 Godotは、実行を開始するず、垞にx秒のスタッタヌが発生し、埌で安定したすが、X秒ごずにフレヌムスキップが発生したすもちろん、gtx1060の問題がない堎合。 この問題を小さな問題ずしお扱うべきではありたせん。

党おのコメント145件

こんにちは。他のコンピュヌタヌ自宅でレポヌトをテストしたので、レポヌトを曎新したした。問題は、アニメヌションを倉曎したずきず同じです。 したがっお、これは問題の原因ずなるアニメヌションではありたせん。 それが私のラップトップにあるのを芋たずき、それは小さな画面を持っおいるので、私はそれを信じたず思いたす。 これが問題のビデオですビデオは60 FPSです
GodotStutter.zip

ビデオがリアルタむムで画面に衚瀺されおいるものを正確に衚珟しおいる堎合、これは、ここでのスタッタヌ関連の問題で蚀及されたものよりもはるかにスタッタヌです。 このWindows10 / GTX 1060のセットアップには深刻な問題があるはずですWindowsのメゞャヌアップデヌト埌のWindows 10 / Nvidiaのパフォヌマンスの問題に぀いお詳しく説明しおいるむンタヌネットに関する蚘事がかなりありたすが、関連しおいるかどうかはわかりたせん。

これが私のシステム、Mageia 6 x86_64Linux、最近のプロプラむ゚タリドラむバヌ390.59を搭茉したNvidia GTX670MXでのテストプロゞェクトのビデオです。 スタッタヌはたったくありたせんOpenboxでは-KWinではコンポゞタヌが混乱し、10秒ごずに非垞に軜いスタッタヌが発生したす。
StutterTest_LinuxNvidia_OK.zip

ずころで、これはデモプロゞェクトfirstGame_fixed.zipの修正バヌゞョンです。元のプロゞェクトでは、ファむルが3぀の異なるフォルダヌ「firstgame」、「firstGame」、「FirstGame」に分割されおいたした。

ゲヌムは私にビデオず同じ量の吃音を䞎えたす。
ただし、vsyncをオフにするず、スタッタヌが完党になくなりたすただし、ゲヌムは4000 fpsで実行されたす。
Windows 1064ビットnVidiaGTX1060もここにありたす。

@Zylannがここで提案したようにテストしたずころ、同じ結果が埗られたした。 私もWin10x64ずnVidiaGTX1060を持っおいたす。

線集私はnVidiaからこれらのドラむバヌを䜿甚したす
398.11-desktop-win10-64bit-international-whql

Win 7 64ビットGLES2およびGLES3テスト枈み、GeForce GTX 660 / PCIe / SSE2 ...スタッタヌなし。 ゲヌムの背埌にあるgodotの2D゚ディタヌでAeroをオンにするず、少しスタッタヌが発生したすGodot゚ディタヌのレンダリングはゲヌムのレンダリングに干枉したす。

ただし、Godotの吃音は目に芋えない巚倧な敵であり、そこにあるこずは誰もが知っおいたすが、解決策が単玔ではないこずを知っおいるため、あたり詳しく調べたくありたせん。

あなたの問題は、モニタヌのリフレッシュレヌトで異なる物理固定fpsのようです。゚ディタヌが物理fpsを構成したのず同じHzを持たないモニタヌで、この皮のスタッタヌが芋られたすが、他の可胜性もありたす。

あなたの問題は、モニタヌのリフレッシュレヌトで異なる物理孊の固定fpsのようです

デモでは物理孊を䜿甚せず、単玔な_processのみを䜿甚したす。

本圓...私はこの堎合、その重い吃音しか芋ないず蚀いたすが、物理的なプロセスが含たれおいないのは事実です。 モニタヌの1぀のhzを倉曎しおテストしたしたが、違いはなく、ギアのスタッタヌは0です。

線集私はこのコンピュヌタヌで7勝、8.1勝、10勝を獲埗し、時間をかけおすべおをテストしたした。 勝利8.1で吃音はありたせん。 私は今win10でテストしおいお、ずおもスムヌズです...りィンドりズの問題はありたせん。 Godotはあなたの1060に腹を立おおいたすか

これが私のラップトップでの同じテストです。 ご芧のずおり、問題はここにもありたす。 しかし、それはあたり目立たないようですが、ここにありたす。

ラップトップの仕様Windows 10-Geforce 940M

これがラップトップビデオです60 FPSビデオです
GodotStutterLap.zip

スタッタヌの問題を抱えおいる人は、Player.gd _processを_physics_processで倉曎しおデモを実行しようずできたすか

今晩、自宅のPCでテストしたす。これは、私がい぀も問題を抱えおいる堎所です。 しかし、私には奇劙なこずがありたす。今朝、ラップトップでプロゞェクトのビデオを提䟛したした。ご芧のずおり、同じ皮類の吃音がありたす。 問題は、今、もう䞀床実行しおも、ランダムのように、これが再び途切れるこずがないこずです。 そしお、私は自分のラップトップで䜕も倉曎したせんでした、私はTSEセッションで午前䞭ずっずそれに取り組みたした。

譊告私は自分のラップトップに぀いおのみ話したす。 GTX 1060を搭茉した自宅のPCでは、問題は垞にここにありたす。 しかし、私のラップトップでは、問題はランダムに発生するようです。 そのため、今のずころ、ラップトップを暪に眮いおテストし、垞に問題のある自宅のPCでのみテストしお、「バグ」を特定できるようにする぀もりです。

@Ranoller私はそれをテストし、同じ結果を埗たした。 吃音はただあり、ほずんど同じように芋えたす。

@Ranollerテストを行い、䜕も倉曎しない同じà @ RaXaR 。 同じ問題が発生したした。

これはよく芋えたせん...

バグを正確に特定するには、次のテストを行いたす。

1フルスクリヌンオン-オフ
2耇数のモニタヌの堎合
無効-共有デスクトップを有効にする
3゚アロオンオフ

あなたのカヌドは他のゲヌムでもうたくいきたすか ..。

アニメヌションに関する最初の投皿を読む->スタッタヌ/アニメヌションなし->スタッタヌなしコヌドを読んだずころ、正しくないず思うものがいく぀かありたす...正確にはフレヌムごずにアニメヌションを倉曎したす。 コヌドは珟圚のアニメヌションをチェックする必芁があるず思いたす。 おそらく䜕も倉曎されたせんでしたが、誰かが次のようにPlayer.gdを倉曎するテストが必芁な堎合

extends Area2D

# class member variables go here, for example:
# var a = 2
# var b = "textvar"
export (int) var SPEED #How fast the player will move (pixel/sec)
var screenSize #size of the game window
onready var AnimSprite = $AnimatedSprite


func _ready():
    # Called when the node is added to the scene for the first time.
    # Initialization here
    screenSize = get_viewport_rect().size
    #Engine.target_fps = 60
    pass

func _process(delta):
#   # Called every frame. Delta is time since last frame.
#   # Update game logic here.
    var velocity = Vector2() #Player movement vector
    if Input.is_action_pressed("ui_right") :
        velocity.x += 1
    if Input.is_action_pressed("ui_left") :
        velocity.x -= 1
    if Input.is_action_pressed("ui_down") :
        velocity.y += 1
    if Input.is_action_pressed("ui_up") :
        velocity.y -= 1
    if velocity.length() > 0 :
        velocity = velocity.normalized() * SPEED
        if !AnimSprite.is_playing():
            AnimSprite.play()
    else :
        if AnimSprite.is_playing():
            AnimSprite.stop()

    if velocity.x != 0 :
        if AnimSprite.animation != "right":
            AnimSprite.animation = "right"
        AnimSprite.flip_v = false
        AnimSprite.flip_h = velocity.x < 0
    elif velocity.y != 0 :
        if AnimSprite.animation != "up":
            AnimSprite.animation = "up"
        AnimSprite.flip_v = velocity.y > 0

    position += velocity * delta
    position.x = clamp(position.x, 0, screenSize.x)
    position.y = clamp(position.y, 0, screenSize.y)

これが最埌のアむデアです...おそらく問題には意味がありたせんが...グラフィックカヌドはプレヌダヌで非垞に䞀般的であるため、godotはその䞭でうたく実行されるはずです。

@ラノラヌ

にずっお 

  • 最初のポむントすでにフルスクリヌンを詊したかどうか、䜕も倉わらない
  • 2すでに1台のモニタヌで実行しようずしたしたがこれは私の䞀般的な構成ですが、2台目のモニタヌもあるので、䞡方を詊したした、䜕も倉わりたせん。

  • 3テストする必芁がありたすこれは、今倜フランス時間に実行できるはずです。

  • 4コヌドをテストする必芁がありたす今晩フランス時間にこれを実行できるはずです。

コヌドをテストしただけで、䜕も倉曎されたせん:(

この問題はgodotに盎接関係しおいないかもしれたせんが、godotは吃音の問題を修正する必芁がありたす...別のスレッドで述べられおいるように、すべおのゲヌムが吃音するずいうわけではありたせん。 今日、私はn ++、フルスクリヌン、りィンドりを再生し、スタッタヌを確認しようずしたしたが、スタッタヌはたったくありたせんでした。 オリずくらやみの森ず同じように、このゲヌムでスタッタヌを発生させるには、倚くの悪いこずが必芁ですバックグラりンドで他のプログラムでりィンドり凊理されるなど、1時間に2〜3フレヌムスキップするだけです...。 Godotは、実行を開始するず、垞にx秒のスタッタヌが発生し、埌で安定したすが、X秒ごずにフレヌムスキップが発生したすもちろん、gtx1060の問題がない堎合。 この問題を小さな問題ずしお扱うべきではありたせん。

私は問題を切り分けるために最善を尜くしたすが、私のレベルでは少し難しいです。 さたざたなセットアップをテストしおみたしたが、結果はありたせんでした。 たた、クリアスクリヌンの色を䜿甚する代わりに背景画像をテストしたした。 「ボむドスクリヌン」で2Dスプラむトをレンダリングするずこの問題が発生するため、この問題が発生する゚ンゞンはすでに芋たこずがありたす魔女を思い出さないでくださいが、ここではそうではないようです。 だから今のずころわからない。

奜奇心から、68行目あたりのSwapBuffersがcontext_gl_win.cppにかかる時間をプロファむリングしおみおください。16msより長い堎合は、ここにフレヌムをドロップしおいる可胜性がありたす。

Godotの゜ヌスを知っおいる誰かが、私が結果に興味を持っおいるこずをテストできたら私の英語は申し蚳ありたせん...

私は昚日この問題で遊んでいたしたが、ゲヌムりィンドりが玄60秒間実行された埌、魔法のように解決したした。 それからそれはスムヌズでした、これはそれがキャッシングのものである可胜性があるこずを私に教えおくれたすか

奜奇心から、68行目あたりのcontext_gl_win.cppでSwapBuffersにかかる時間をプロファむリングしおみおください。16msより長い堎合は、ここにフレヌムをドロップしおいる可胜性がありたす。

GLES2で問題が発生したかどうかを知るのに圹立぀かもしれたせんが、テストはしおいたせん。

Godotのオプションで遊んでみたしたが、䜕も倉わりたせん。䜕を倉曎すればよいか正確にわからないのではないでしょうか。

2分以䞊ゲヌムをさせようずしたしたが、60秒埌に問題は垞にここで解決されたせん。

3.0.3でも同様の問題が発生したした。 Win10 64ビット、Nvidia 6603.0.2では気づきたせんでした。

このノヌドを持぀レベルでパフォヌマンスの問題が発生するので、AnimatedSpriteノヌドず関係があるず思いたす。 IDEから実行しおいるずき、たたはWin 32ビットに゚クスポヌトするずシャッタヌが切れたすが、Win 64ビットに゚クスポヌトするず、すべおが正垞に実行され、途切れるこずはありたせん。

..興味深いこずに、サンプルプロゞェクト「FirstGame.zip」には問題はありたせん...それでも私のゲヌムには問題がありたす。IDEおよび32ビットバヌゞョンから実行するずFPSは5に䜎䞋し、GPUは玄2になりたす。 。しかし、64ビット゚クスポヌトではGPUは30であり、すべおが正垞です。

こんにちは、この問題に関するニュヌスはありたすか 私はpongデモでテストしたばかりです以前はチュヌトリアルゲヌムでテストしおいたせんでした。このサンプルプロゞェクトでも問題があるようです。 SteamでGodotの最埌のバヌゞョンを䜿甚しおテストしたす。

Nvidiaドラむバヌを曎新しおも䜕も倉わらなかったので、この問題に぀いおいく぀かのニュヌスを取り䞊げるようになりたした。 乗り方がただわかりたせんでした。

私は今、geforce gtx 10603gb-安いを搭茉したコンピュヌタヌを持っおいたすが、Windows 10Homeでは問題はありたせん。 それはいく぀かのバックグラりンドアプリである可胜性がありたすか 䞀郚のハヌドりェア固有の構成AMD-NvidiaIntel-Nvidia .... 私はこのコンピュヌタヌ私の音楜レコヌディングスタゞオにありたすにはゲヌムのアプリケヌションはありたせんが、コンピュヌタヌに3぀の画面が接続されおいおもgodotはスムヌズに動䜜したす。 問題のある人は誰でも、ゲヌム監芖゜フトりェアがバックグラりンドで実行されおいるか、スチヌムで実行されおいるか、たたはこのようなものがあるかどうかを確認できたす... そしお、もしそれを無効にしようずしたら

Steamを䜿甚しおGodotを起動するずきにSteamをオフにするのは難しい... Godotは非垞によく動䜜したす。問題は、䜜成するゲヌムです。 私はすでに無効にできるものをすべお無効にしようずしたしたが、䜕も倉わりたせん。 私は成功せずにたくさんのテストをしたした。 たた、たずえばnvidiaドラむバヌをリセットしたり、曎新したりしようずしたしたが、䜕も倉わりたせん。

反察偎には、スムヌズに動䜜する゚ンゞンがたくさんあるので、Godotを䜿っおみたせんか それが私が芋぀けようずしたものです。 しかし、今のずころ私は䜕かを芋぀けられたせん。 どこかに䜕かがありたすが、䜕ずどこで、それが問題です:-)

この問題は「engine-dev固有」であり、独自の怜玢で蚱容できる解決策を芋぀けるこずはできたせん。 私はgodotコヌドを䜕時間も探すこずができ、これに関連するものを芋぀ける可胜性は決しおないこずを知っおいたす...より倚くのコヌドの新機胜が奜きな゚ンゞン開発者ず「バグ修正」はより「ゞュニアワヌク」ず芋なされるこずを知っおいたす"たたはこのようなもの。 しかし、この皮の問題ではそうではありたせん。 この問題ず他の「耇雑なゎヌスト-䜎レベル-䜙裕がない」バグ修正を自動割り圓おるには、゚ンゞン開発者が必芁です...

私はすでに開発バヌゞョンSteamなしを詊したしたが、問題は同じです。

こんにちは私はたったく同じスタッタヌの問題を抱えおいたしたGit゜ヌスのGodot 3.1を䜿甚。move_and_slideであれ、アニメヌションプレヌダヌの動きであれ、あなたのビデオずたったく同じように、動きが遅れおいたした。 しかし、プロゞェクト蚭定でV-Syncをオンにするず、2Dゲヌムのスタッタヌの問題が完党に解決されたした。

@ZylannがV-Syncをオフにするず吃音が

@Qwsをオフにしお、ゲヌムを

新しいgtx1060で行った最初のテストでは問題はありたせんが、埌でそのスタッタヌが発生したす。 私が倉曎したのは、dviからhdmiぞの接続および䞀郚のプログラムのむンストヌルだけです...これは少し奇劙です。 私が確信した唯䞀のこずは、問題がWindows10偎にないずいうこずです。

私はこれだけ蚀いたす。 Gamedev.tvチュヌトリアルの2Dゲヌムチュヌトリアル「HoppyDays」に取り組んでいたす。 私は3.0.2を䜿甚しお開発したしたが、問題なく動䜜しおいたした。 チュヌトリアルで3.0.4を䜿甚しおいるこずに気づいたので、文字通り今日は3.0.6にアップグレヌドするこずにしたした。 ゲヌムには目立った遅れがありたす。 _3.0.2ではラグはたったくありたせんでした_ 。 今そこにありたす。 他のすべおの蚭定は同じです。

私のノヌトパ゜コンは、かなり新しい2017幎3月に賌入Dell Inspiron7000シリヌズゲヌミングノヌトパ゜コンです。 プロセッサヌは、第7䞖代Intel Core i7-7700HQクアッドコア6MBキャッシュ、最倧3.8 GHzです。 ビデオカヌドは、4GBGDDR5を搭茉したNVIDIAGeForce GTX1050Tiです。 RAMは16GB、2400MHz、DDR4です。 ハヌドドラむブはSamsungSSDです。 りィンドりズ10。

私には、3.0.4たたは3.0.6のいずれかで䜕かが倉曎されたように芋えたす.....他に䜕も倉曎されおいたせん。 ゲヌムでさえありたせんのように...私はレベルをたったく倉曎/線集/曎新しおいたせん。

@ emo10001 3.0.3をテストできたすか そのずき、3.0.xバむナリの䜜成に䜿甚されるビルドシステムを倉曎したした3.0から3.0.2はMSVC2015を䜿甚しおAppVeyorCIでビルドされ、3.0.3から3.0.6はMinGWを介しおGCC 8でビルドされたした。

ラップトップにOptimus /切り替え可胜なグラフィックスがある堎合、システムがNvidia GPUで䜿甚する3.0.2バむナリをホワむトリストに登録しおいるのに察し、3.0.3 +はデフォルトでIGPに蚭定されおいる可胜性がありたす。 たたは、3.0.2がアンチりむルスによっおホワむトリストに登録され、3.0.3 +が別の゜ヌスからのものであるず芋なされこれは本圓です、ただ安党であるず芋なされおいないため、アンチりむルスは完党なチェックを実行し、パフォヌマンスに圱響を䞎える可胜性がありたす。
これらは単なる掚枬ですが、そうでなければ、実際のGodotの倉曎がそのようなパフォヌマンスにどのような圱響を䞎えるかわからないため、ビルドシステムの倉曎しか考えられたせん。

CC @hpvb

私は同じ問題を抱えおいたす 私のプロゞェクトは20〜30秒間途切れ、その埌スムヌズに実行されたす。 OP postでプロゞェクトをダりンロヌドしたしたが、たったく同じです。
V-Syncをオフにするず、問題が解消され、4000 + fpsで実行されたす。

Linux Mint 19぀たり、windowsタグは䞍正確だず思いたすず最新のプロプラむ゚タリドラむバヌを備えたGTX760でバヌゞョン3.0.6を実行しおいたす。

Linux Mint 19぀たり、windowsタグは䞍正確だず思いたすず最新のプロプラむ゚タリドラむバヌを備えたGTX760でバヌゞョン3.0.6を実行しおいたす。

いいえ、しかしこれはおそらく別の問題です。 Linuxでのスタッタヌは、りィンドりマネヌゞャヌの合成が原因で発生するこずがよくありたすたずえば、KWinを䜿甚しおいるものもあれば、Openboxを䜿甚しおいるものはありたせん。

私のプロゞェクトは20〜30秒間途切れ、その埌スムヌズに実行されたす

これによく気づきたす。線集䞭のシヌンを実行するず、15〜30秒ほどスタッタヌずティアリングvsyncがオンの状態が発生したすが、メむンメニュヌからプロゞェクトを開始し、シヌンセレクタヌでシヌンを開くず...たあ、同じシヌンに吃音はありたせん最終的にはありたすが、今たでにありたせん。 このむベントに぀いお䜕か説明がありたすか Godot りィンドりズ 再生を安定させるために必芁なフレヌム数は...ゲヌムデザむンに必芁なものがあるので、それを知っおおくずいいでしょう。

いいえ、しかしこれはおそらく別の問題です。

うヌん、なるほど。 私が蚀いたかったのは、倚くの人が同じ問題を経隓しおいるので、この特定の問題はおそらくマルチプラットフォヌムです。

私はいじり回しおいお、move_and_slideずmove_and_collideの䞡方で、2぀のキネマティックボディがたったく同時にスタッタヌするこずに気づきたした。

䞡方が振動するずきにカメラを1぀に接続するず、2぀のキネマティックノヌドを陀いお、シヌン内のすべおが途切れたす。 静的カメラは、2぀のキネマティックノヌドのみがスタッタヌを衚瀺したす。

どのグラフィック蚭定を倉曎しおも、_processや_physics_processは問題ではないようです。 たた、別のデルタ倉数を䜿甚するこずもありたせん。

このプロゞェクトは実際の䜿甚を代衚するものではないず思いたす...より耇雑なプロゞェクトは少しスムヌズに実行されたす。 Windowsは過床の倧きなgodotアむドル時間をうたく凊理できないず思いたす... godotだけでなく、それに関連する別の問題を芋぀けたした拡匵デスクトップゲヌムを備えたマルチモニタヌでは、これがあればモニタヌ1でよりスムヌズになりたす「プラむマリモニタヌ」のようにタグ付けされおいたす。 プラむマリモニタヌが1以倖の堎合、セカンダリモニタヌにスタッタヌがありたすyoutubeはそれに苊しんでいたすが、oriのような統䞀された商甚ゲヌムではありたせん。 セカンダリモニタヌのフルスクリヌン、勝利7の゚アロ、モニタヌの亀換ejプラむマリのようなモニタヌ2では、颚景が最悪で、倧きなスタッタヌがありたすgodotだけでなく、ゲヌムメヌカヌやナニティゲヌムも... 。2぀の1080p画面に拡匵デスクトップを備えたマルチモニタヌは安䟡なGPUには難しいこずを知っおいたすが、他のゲヌムはよりスムヌズですgodotはfpsを倱うこずはなく、スタッタヌのみです。 このテストを続行する堎合は、より耇雑な䟋を䜜成する必芁がありたす。

@Ranoller私のセットアップは、gtx 760のデュアルモニタヌ、「primary」のタグが付いた2番目のモニタヌ、シナモン付きのlinux mint19です。 プロゞェクトが途切れる具䜓的な状況を理解しようずしたしたが、理解できたせんでした。 これらの小さなプロゞェクトは、ずきどき途切れる堎合ずそうでない堎合がありたす途切れるだけで、fpsの損倱はありたせん。 たた、スタッタヌりィンドり化されたgodotテスト構成で実行の堎合、通垞、2番目のモニタヌプラむマリではないに1぀以䞊のクロヌムりィンドりがあり、それらを最小化するず、スタッタヌはなくなりたす...いく぀かの最小化/クロヌムりィンドりで埩元するず、吃音は完党になくなりたす。

私は2台のコンピュヌタヌを持っおいたす-> 1台はi5gtx660 2画面1080p、もう1台はi7 gtx 1060 3画面2 1080pおよびその他のhdready...ええず、gtx660のセカンダリモニタヌに関連するこのスタッタヌの問題がありたす。レンダリング、godotずクロヌムスタッタヌ、ゲヌムメヌカヌずナニティは排他的に関連しおいたせん商甚ゲヌム、正確にはHiperLightDrifterずOri、デモやテンプレヌトはテストしおいたせん。 Windows Aeroはフルスクリヌンでよりスタッタヌしたす私は実際にはフルスクリヌンではないず思いたすが、win 7で゚アロなしで非垞に倚くのfpsを持っおいたす。 ..特定の条件vsyncの有無にかかわらずで倚くのスタッタヌ。 i7 gtx 1060でgodotを吃音にするこずはできたせん実際のプロゞェクトでは、このスレッドのデモが吃音し、私の意芋を説明したす。 最適化/ OpenGLの問題だず思いたす。ejLight2Dはほずんど䜿甚できたせん。システムがあたり匷力でない堎合、「ミックス」以倖のミックスモヌドは途切れるこずがありたすが、godotはゲヌムメヌカヌやUnityず同じレベルでパフォヌマンスを凊理する必芁がありたす。 おそらく3.1がリリヌスされるず、最適化の䜜業が始たる可胜性がありたす問題が修正可胜で、Direct3D / OpenGLではない堎合-もちろんWindowsの問題... WindowsでGLES2 / 3ゲヌムを芋぀けおテストし、砎棄する方法がわかりたせん盎接のOpenGL-Aero / Win7-8-10の問題... godotのパフォヌマンスは、所有者ず同じになるこずは決しおないこずを理解しおいたす-> 1぀のゲヌムベヌスの゚ンゞンEjRaymanの起源は私が持っおいる叀いラップトップでスムヌズに動䜜したす、godot 2はそうではありたせんが、少なくずもゲヌムメヌカヌず同じ安定したレベルでレンダリングする必芁がありたすUnityはおそらく長い間godotよりも最適化されるでしょう...。 今のずころ、godotはハむ゚ンドハヌドりェアたたは䜎解像床の画面でのみうたく機胜するず思いたす私はi5 win732ビット15むンチIntelHDグラフィックスコンピュヌタヌでテストし、優れたパフォヌマンスを発揮したすが、HD画面ではこのコンピュヌタヌがうたくいくずは思いたせんゎドットをスムヌズに実行...

もちろん、それはすべお私の意芋/経隓です、私は間違っおいる可胜性がありたすそしお私はそうなるこずを望んでいたす..これが単玔な1行の修正であるならば、これは玠晎らしいかもしれたせん!!!

䞀方、godot実行可胜ファむルの「プロセス優先床」に関連する䜕かを曞いおいるreduzを読んだこずを芚えおいたすが、Windowsでは、実行時にgodotの優先床を手動で倉曎しおも違いはなく、godotのパフォヌマンスは䜎䞋したせん単語を発明したしたか、プログラムの実行にはスパむクがありたせん、それはレンダリング、nvidia / godotずコンピュヌタデスクトップに関連するものですWindowsでは、Linuxでは詊したせん

こんにちは、それで、この問題に぀いお䜕かニュヌスはありたすか ^^最新バヌゞョンで再床テストしたすが、ただ問題があるようです。

これはAndroidたたはiOSプラットフォヌムで終了したすか初期のgodotによっお䜜成されたGoogleストアには、シャッタヌの問題もあるゲヌムがいく぀かありたす。https  .DunkUp

これは、特定の状況でテストされたすべおのプラットフォヌムに存圚し、さたざたなGPUずさたざたなオペレヌティングシステムがありたす...コン゜ヌルには蚘茉されおいたせん。

LinuxずWindowsの䞡方でテストしたしたが、ずきどき小さなスタッタヌでスムヌズに動䜜したした。ロヌ゚ンドの統合むンテルHDグラフィックスベむトレむルグラフィックスカヌドがありたす。

スタッタヌの原因を突き止めようず䜕時間も詊みた埌、少なくずも私の堎合は、「゚ディタヌ蚭定」で「リモヌトシヌンツリヌぞの自動切り替え」が有効になるたで、䞀貫した1のスタッタヌを远跡したした。 これをオフにするず、スタッタヌずパフォヌマンスの問題が解決したす。 ただ非垞にわずかなスタッタヌがある可胜性がありたすが、ほずんど目立ちたせん。

godot windows tools 64_2018-11-14_01-19-20

Godotビルド8849d3b47de8ab936549f0b9262c1193164feee5
Win10 64ビット、NVIDIA GeForce GTX 660、ドラむバヌv416.81

ゲヌムに吃音の問題もありたす。 それを改善しおいるように芋える唯䞀のこずは、ゲヌムの実行䞭に党画面をオフにしおからオンにするこずです...そしおそれでも、その埌に忍び寄るわずかなスタッタヌがありたす。 完党にランダムに発生するようです。 ゲヌムがほが完璧に実行される堎合もあれば、吃音が発生する堎合もありたす。

キネマティックキャラクタヌを䜿甚した2Dプロゞェクト。
Intel i5-2550K CPU
16GBのRAM
Geforce GTX 970
Win1064ビット
Godot 3.0,6

Win 10では、フルスクリヌンでより倚くのスタッタヌが発生したす。これは、Aeroおよび無効にできるが原因です。 GodotはWindowsAeroでより少ないCPUずより倚くのGPUを䜿甚しおいるようですが、これはより吃音を匕き起こしたす。 Windows 7では、Windows Aeroを無効にするず、党画面衚瀺のスタッタヌがりィンドり衚瀺よりも少なくなり、より倚くのCPUを䜿甚したす。 Win10は実際のフルスクリヌンではないず思いたす。

私はプロトタむプのピンボヌル2Dゲヌムを䜜り始めたしたが、ボヌルの動きに揺れがありすぎお、重力で萜䞋する剛䜓しかありたせん。 私はWin10 / NVidia GTX 560 Ti 1Go最新のドラむバヌを䜿甚/ 8 Go Ramを䜿甚しおいたす。私のコンピュヌタヌは最高ではありたせんが、プロゞェクトには境界線甚のボヌルずStaticBody2Dしかなく、明らかにゞッタヌが頻繁に発生しおいるこずがわかりたす。 vsyncを䜿甚する堎合ず䜿甚しない堎合、opengl 3.0ず2.0、りィンドりずフルスクリヌン、物理的なfpsを増やしたり枛らしたりしおみたしたが、問題はただここにありたす。
私のGodotバヌゞョンは3.1アルファです。
これは倧きな問題だず思いたす。修正するのは難しいかもしれたせんが、スキップしおはいけたせん。2Dゲヌムではスムヌズな2Dの動きが重芁です。

そうです、Godotはすべおのトップ゚ンゞンの䜿いやすさが向䞊しおいたすもちろん私の意芋です。 䜿いやすさの面はそれらすべおを打ち負かしたす。 しかし......パフォヌマンス偎....゚クスポヌト偎....それはgodotがオペレヌティングシステムで打ち負かされおいたようであり、より流動的なナニティやゲヌムメヌカヌの゚クスポヌトのようではありたせんクロムの構造がより流動的になるたで 、そしおgdscriptの遅さGDScriptの有無にかかわらず発生するのためではなく、「他の䞍確定なもの」がありたす。い぀か誰かがcppファむルで1぀の反乱行を芋぀けお1぀の単玔な「」を倉曎できるこずを願っおいたす。 この問題は修正されたす...Godotのように無料です

私はいく぀かのプロゞェクトを念頭に眮いおおり、Godotでそれらを䜜りたいず思っおいたす。私の自由な時間のすべおを蚀うのではなく倚くの時間がかかりたすが、゚ンゞンが保蚌できない堎合は悲しいこずですシンプルなシヌンでのアニメヌションのスムヌズな2Dの動き、これらすべおの長所にもかかわらず、゚ンゞンは単に圹に立たない。 この堎合、おそらく私にずっお最も賢明な遞択は、このように時間を倱うリスクを冒さないこずです。

この問題は䞀郚の構成Windows 10やNVidiaドラむバヌなどでのみ発生するこずを理解しおいたすが、知りたいのは次のずおりです。

  • この問題たたは同様の問題はすでにマむルストヌンで蚈画されおいたすか
  • この問題は、マむルストヌン3.2でOpenGLがVulkanに眮き換えられるのを埅っおいるのでしょうか。

PS私は別のPCで詊したした

  • Intel i7 4790K 4.00 Ghz
  • Win1064ビット16Go RAM
  • NVidia GTX 1060 3Go最新のドラむバヌを䜿甚
  • Godot3.1アルファオフィシャル
    単玔なシヌンでも同じ問題が発生したす。

この皮のPC構成Win10 + Nvidiaカヌドは非垞に䞀般的だず思いたす。Godotコミュニティちなみに玠晎らしい仕事をしおいたすがこの問題をすぐに修正し、優れた2Dゲヌムがリリヌスされお衚瀺されるこずを願っおいたすGodotでできるこずですが、私にずっおこの皮の問題では、それは単玔に䞍可胜です。

倚分それはある皮のプログラムの焊点の問題ですか 党画面でゲヌムを始めるず、基本的に毎回吃音が芋られたす。 しかし、ゲヌムの実行䞭にりィンドりモヌドに切り替えお党画面に戻すず、毎回完璧に動䜜しおいるように芋えたす。 私も持っおいる堎合は、これが自動的に発生するようにプログラムできたすが、ぎこちないようです。 フルスクリヌンからりィンドり、フルスクリヌンぞの切り替えでスタッタヌが修正されるこずを他の誰かが確認できたすか

線集ああ、もう1぀... Geforce Experienceアプリを無効にするず、状況は良くなったようです。

キネマティックキャラクタヌを䜿甚した2Dプロゞェクト
Godot 3.0.6
Win1064ビット
Intel i5-2550K CPU
16GBのRAM
Geforce GTX 970

私はあなたが提案したものを詊したした、私はGeforce Experienceを無効にし、フルスクリヌンからりィンドり、そしおフルスクリヌンに切り替えお、vsyncを有効にしお無効にしたしたvsyncを無効にするずさらに悪いですが、私にずっおはい぀も残念です。
それはかなりランダムですが、吃音なしで玄15〜20秒を超えたこずはありたせん。

詊しおくれおありがずう それはずおも奇劙です、あなたのスペックは私のものよりも優れおいたす。 私の問題は、それがずおもランダムであるずいうこずです...正確に再珟するのは難しいです。 うたく動䜜するこずもあれば、途切れるこずもありたす。 しかし、それはGodot自䜓ず関係があるず私はかなり確信しおいたす。 Unityで䜜られたゲヌムや、その他のゲヌム゚ンゞンで吃音を経隓したこずはありたせん。

この吃音に気づきたした。

Godot 3.0.6、Windows 10、64ビット、i7-8550U、16GB RAM、NVIDIA GeForce MX150

他の人がすでに述べたように、これはGodotにずっお深刻な問題です。 今週、私は非垞に単玔なゲヌムのプロトタむプを䜜成するこずにしたした。 私はフレヌムワヌクたたぱンゞンを怜玢しそれらの倚くを芋぀けたした、Godotを䜿甚するこずにしたした-それは無料でオヌプンだからです。 それから私は吃音に気づき、この問題を芋぀けたした-そしお進歩がないように芋えるこずに驚きたした。 ずにかく、Godotで自分のアむデアのプロトタむプを䜜成するず思いたす。 しかし、リリヌス可胜なゲヌムを䜜成したい堎合は、おそらく別の゚ンゞンを詊しおみたす。 これは厳しすぎるように聞こえたす...問題が修正されない堎合、Godotは倚くの朜圚的な採甚者を倱う可胜性があるず思いたす。

誰も取り組んでいないので進展はなく、そうです、深刻な問題です。 ただし、今のずころ、商甚ゲヌムをリリヌスする必芁がある堎合は、godotでプロトタむプを䜜成し、Unityに移怍できたすCを䜿甚できたす。 シヌン-ゲヌムオブゞェクト-コンポヌネントのアプロヌチを念頭に眮く必芁がありたす。godotで耇補できたす。䜜品が流䜓の流れずパフォヌマンスのために統䞀される堎合、たたは2Dの堎合はゲヌムメヌカヌに行きたす。 私はプラグむンでgodotプロゞェクトを他の゚ンゞンに倉換し、gdscriptをモゞュヌル、gml、たたはUnity Cに移怍しようずしおいたすが、非垞に倧きな䜜業です努力する䟡倀があるかどうかはわかりたせんそれは、ゲヌムで動䜜しない時間が長すぎるそしお垞に䞍完党になりたすすべおのタむプを取埗するこずはできたせん、ej衝突によっお返されたオブゞェクト。 スクリプト甚の小さなパヌサヌがあり、tscnずtresにパヌサヌを開始したすが、gdscriptのパヌサヌ結果をUnity Cに倉換するか、ゲヌムメヌカヌGMLに倧量のコヌドが必芁であり、これに関する「合法性」がわかりたせんi jsonファむル内のすべおのAPI名ej。が必芁であり、これのIPに぀いおはわかりたせん。 アニメヌションは他の問題です。今のずころ、それにアプロヌチする方法はわかりたせんが、脊怎/ドラゎンボヌンを䜿甚するず簡単に移怍できたす。 それを行う私の䞻なアむデアは、godotで始たり、unityたたはgmで終わるこずでしたが、niwの堎合は頭痛の皮です... unityが同等に移怍可胜である堎合私はそれが必芁です、godotのように小さくお迅速に開発できたす32ビット線集者私は数ヶ月前にメむンプロゞェクトを移怍したした、私はgodotが倧奜きですが、小さなチヌムたたは私のような独身男性の䞭芏暡プロゞェクトではリスクがあり、完成したプロゞェクトが倧量のプロゞェクトを提䟛しないこずを誰もあなたに保蚌したせん問題。 しかし、チヌムに優れたC ++プログラマヌがいる堎合は、godotをゲヌムにい぀でも適応させるこずができたす団結しおはできたせんが、バグは少なくなりたす。
途䞭のプロゞェクトや゚クスポヌトされたゲヌムでの゚ディタヌのパフォヌマンスの䜎䞋が嫌いなように、この問題は嫌いですが、より団結が嫌いです゚ディタヌを開くためにすべおのコンピュヌタヌでむンタヌネットが必芁なのはなぜですかそれがないコンピュヌタヌが1台ありたすそしお嫌いですずおも深くビゞュアルなスタゞオ...私は、godotが途切れを止め、パフォヌマンスず゚クスポヌトに取り組んでいれば、玠晎らしい新進気鋭のゲヌムを芋るこずができるず確信しおいたす。

今日この問題を再確認するために、nVidia GTX1060を搭茉したWindows10で、次のこずを行いたした。

The Binding ofIsaacのりィンドりモヌドを開きたした。 ぐらぐらず走り、スタッタヌはありたせんでしたこれ以降、少なくずも30秒間は意味したす。 ゲヌムにV-syncがあるかどうかはわかりたせんが、そのような蚭定はありたせん。

Minecraftのりィンドりモヌドを開きたした。 ラグが存圚しない地面を芋お、スタッタヌのないフラットな䞖界をロヌドしたした。

かなり倧きな゚ンドゲヌムファクトリヌで、ただりィンドりモヌドのFactorioを開きたした。 吃音なしで䞀盎線に走った。 ただし、V-syncはオフです。 オンにしおゲヌムを再起動するず...ただ途切れるこずはありたせん。

Slick2DOpenGLを䜿甚しお䜜成した叀いJavaゲヌムを開きたしたが、1぀のスタッタヌではありたせんただ1぀のOoを芋おいたせん。 オプションを確認するず、V-syncが有効になっおいたす。 V-syncをオフにするず、毎秒かそこらで定期的にスタッタヌが発生したす。 フレヌムレヌトキャップを2倍にするず、スタッタヌが発生したせん。

ここで、Godot 3.1 alpha3を䜿甚しお3Dプロゞェクトを開始したした。マップには、いく぀かのアセットず動くキャラクタヌが含たれおいたす。スタッタヌはほずんどなく、20秒ごずに1぀しか衚瀺されないため、気になりたせん。

たた、Godot 3.0.6に移怍した2DプロゞェクトWallriderも詊しおみたした。同じですが、気になるほどスタッタヌがありたせん20秒ごずにランダムに1぀。

䞊蚘のすべおのプロゞェクトには、これが共通しおいたす。画面に1぀のスプラむトを描画するだけではありたせん。

Godot 3.1 alpha3で@crystalnoirテストプロゞェクトを詊しおみるず、すぐに䞍芏則な頻繁なスタッタヌが発生したす。これは、最埌に衚瀺/最倧化されおから玄30秒埅぀ず消えたす。 _physics_processに切り替えおみたしたが、 delta = 1.0 / 60.0も詊しおみたしたが、すべお同じです。 deltaを印刷するず、毎秒倉動があるこずがわかりたすが、ゲヌムでは1秒間に耇数回スタッタヌが発生し、 deltaはたったく反映されたせん。 ゚ディタヌなしでゲヌムを開始した堎合にも発生したす。
たた、Godot 2.1.5に移怍しようずしたしたが、同じ問題が発生したすプロゞェクト Stuttering_issue19783.zip 

そしお今、これはそれが面癜くなるずころです
3Dゲヌムず@crystalnoirのテストの䞡方を画面䞊で

ただ終わりではありたせん
2Dゲヌムに3Dカメラを远加しようずしたした。 そしお魔法のように、それをするだけで、スタッタヌは劇的に、そしおすぐに枛少したす。
PlayerWith3Dシヌンでこれを自分で詊すこずができたす Stuttering_issue19783.zip
デフォルトでどれほどスムヌズかを確認しおください。 magicボタンを抌しお、3D環境が衚瀺されおいない堎合にどのようにたわごずになるかを確認したすただし、垞に100に戻るずは限りたせんが、PlayerWith3D.tscnは垞にPlayer.tscnよりも芋栄えが良いこずがわかりたす。

さらに進んで、nVidiaコントロヌルパネルをOptimal Power デフォルトからMaximum performanceに倉曎するずどうなるかを確認したいのですが、...えヌず...
image

ずにかく、これから私が掚枬できるのはしかし、それは掚枬なので、䞀粒の塩でそれを取るそれは盎接Godotのせいではありたせん。 「スマヌト」になろうずしおいるのはグラフィックスドラむバヌです。

吃音の神のために!!! 😂😂😂

これを捚おるだけです... 2018幎11月の時点で、Steamのトップ14のビデオカヌドはNvidiaです。 各GPUカテゎリのトップカヌドを芋おみたしょう。

NVIDIA GeForce GTX 1060Steamナヌザヌの14.60。
AMD Radeon R7グラフィックスSteamナヌザヌの1.06。
Intel HD Graphics 4000Steamナヌザヌの1.06。

https://store.steampowered.com/hwsurvey/videocard/

䞊蚘のデヌタを考慮するず、この問題を最優先する必芁があるようです。 圧倒的倚数のゲヌマヌがNvidiaカヌドを䜿甚しおおり、これが最も䞀般的な構成です。 RadeonずIntelのグラフィックスナヌザヌの数は、比范するずごくわずかです。

@Ranoller ...あなたは私を殺しおいる。 Godotでプロトタむプを䜜成するように人々に指瀺するが、Godotの発行スレッドで商甚タむトルのためにUnityに移怍するこずは、私が今たで聞いた䞭で最もばかげたこずであり、䞍快感はありたせん。

@Zylann電源管理モヌドを「Perfermaximumperformance」に蚭定しようずしたしたが、スタッタヌの改善は芋られたせんでした。

@ behelit2攻撃なし

@Zylannアニメヌションテクスチャでタむルマップをレンダリングするシヌンの前にメッシュをレンダリングする3Dカメラを配眮したしたが、ゲむンフォヌカスの数秒埌にgodotが途切れる問題は修正されおいたせん。 そのシヌンには以前は他の皮類のスタッタヌ「むニシャル」のみがないので、このトリックが䜕かを修正するかどうかはわかりたせんが、興味深いこずがわかりたす。 私はあなたずファむルをテストしたす。 godotのアむドル時間によっおコンピュヌタヌの䜕かが「怠惰」になるず思いたすが、FPS、CPU䜿甚率、スタッタヌの゚アロありずなしの勝ちの違いが非垞に倧きいため、おそらくオペレヌティングシステムです。 おそらく、グラフィックカヌドではなくスマヌトにしようずするOSです。

他のゲヌムの機胜を分析するZylannのアむデアが奜きです。 これがオフトピックかどうかはわかりたせんが、いく぀かテストを行いたした。
たず第䞀に、Steamゲヌムの95は32ビットのようです最近のリリヌスも。 ゲヌムの同じ割合がdirectxでレンダリングされおいるようです。 ゲヌムが実行するプロセスをキャプチャし、レンダリングで䜕が起こっおいるかを確認しようずしたす。 背埌にあるいく぀かの情報結論はありたせん、情報のみです

ゲヌム/実行可胜ビット/゚ンゞン/ Windows 764ビットおよびノヌ​​トでのレンダリングに䜿甚するプロセス。

  • HyperLightDrifter-> 32ビット/ゲヌムメヌカヌ/ Windows GDI
  • フック-> 32ビット/ Unity / Windows GDI
  • ニヌズヘッグ-> 32ビット/ / Windows GDI
  • オリずくらやみの森-> 32ビット/ Unity / WindowsGDI。 godotのようにOPENGL32ず呌ばれるプロセスを実行したすが、WindowsGDIの䞀皮のラッパヌです。 OpenGL32からの単䞀の呌び出しではなく、すべおの呌び出しはWindowsGDIからのものです。
    ori1

  • ほこり゚リシアンテヌル-> 32ビット/ Microsoft XNA / WindowsGDI。 gameoverlayrenderer.dllがあり、すべおの呌び出しはこれClientToScreenからのものです。 OpenGLdllがありたせん。

  • SuperMeatBoy-> 32ビット、Steamオヌバヌレむ内での実行、Windows GDI
  • ΔVRings of Saturnデモ-> 64ビット、godot / OpenGLおよびWindowsGDI呌び出しを実行し、OpenGlSwapBuffersぞの単䞀の呌び出しを実行したす-倀8のGetPixelformat。WindowsGDIぞの呌び出しを倚数実行したす。 重耇した呌び出しはありたすか WindowsFromDCぞ-SetRectりィンドりサむズ、OffsetRect。
    ring1

  • Bastion-> 32ビット/ SDL2 / Windows GDIなしで玔粋なOpenGL呌び出しを実行し、swapBuffersの䞀意の呌び出しを実行したす-倀10で垞にGetPixelFormat。

  • SouthPark the stick of Truth-> 32ビット/䞍明な゚ンゞン/ Windows GDIですべおの呌び出しを実行し、direct3D v 9のようですd3d9.dllがありたすが、このプロセスではほずんど呌び出しを行いたせん。ほずんどの呌び出しはsteamずuxtheme.dllのgameoverlayrendererからのものです。 OffsetRectずIsRectEmptyおよびその他のりィンドり機胜を実行したす。
    southpark1

  • Sine Mora-> 32ビット/ Unknow engine / Steamオヌバヌレむ、dicect3d9によっおWindowsGDIのすべおの呌び出しを実行したす

  • Apotheon-> 32ビット/ Microsoft XNA / Windows GDIでのすべおの呌び出し、スチヌムオヌバヌレむからの1回の呌び出しクラむアントから画面ぞ、Microsoft XNAの1回の呌び出しScreenToClient、およびuxtheme.dllず呌ばれるプロセスからの呌び出し windowsからIsRectEmptyおよびPtInrectすべおブヌル倀ぞ。
  • 卵は家に垰る-> 64ビット/ Godot / OpenGLおよびWindowsGDIからの呌び出し、土星の環ず同じ。
  • 芆面闘士 スヌパヌタヌボ....-> 32ビット/䞍明な゚ンゞンですが、ファむルの堎合はサむンモヌラに䌌おいる可胜性がありたす。 このゲヌムでは、画面のサむズを倉曎できたす。/WindowsGDIからのすべおの呌び出し。
  • ヒヌロヌではない-> 32ビット/ SDL2りィキペディアによるずClickTeam Fusion/ Windows GDI Directx9からのすべおの呌び出し。
  • Middle Earth Shadow of War-> 64ビットええ、1぀ありたす/むントロはFirebirdず蚀っおいたすが、プロセスに぀いおは今のずころ䜕もありたせん/ Windows GDIからのすべおの呌び出しがありたすが、他のゲヌムの呌び出しはほずんどありたせん。 1秒あたりの呌び出し数ej、godot api呌び出しをほずんど远跡できたせん。1秒あたりの呌び出し数はトンです。 しかし、このゲヌムはGPUを焌きたす。

フォヌカスが倱われたほずんどのゲヌムはプロセスを停止しお䞀時停止しおそらく良い習慣ですか、画面のサむズを手動で倉曎できるゲヌムはほずんどありたせんejヒヌロヌではありたせん。 悲しいこずに、ΔVRings of Saturnデモでフォヌカスが倱われる/フォヌカスが増えるずいう吃音の問題がありたす。

線集godotはOpenGL32ずWindowsGDIプロセスを同時に䜿甚する唯䞀の゚ンゞンのようです。
䜿甚したアプリAPI Monitor v2

線集ΔVの正しい名前土星の指茪デモ

Rings of SaturnがΔVRings of Saturndemoを意味する堎合、それはGodot 3.1で構築されたしたが、それらが䜿甚した正確なリビゞョンに぀いおはわかりたせんか

スタッタヌの原因を突き止めようず䜕時間も詊みた埌、少なくずも私の堎合は、「゚ディタヌ蚭定」で「リモヌトシヌンツリヌぞの自動切り替え」が有効になるたで、䞀貫した1のスタッタヌを远跡したした。 これをオフにするず、スタッタヌずパフォヌマンスの問題が解決したす。 ただ非垞にわずかなスタッタヌがある可胜性がありたすが、ほずんど目立ちたせん。

godot windows tools 64_2018-11-14_01-19-20

Godotビルド8849d3b
Win10 64ビット、NVIDIA GeForce GTX 660、ドラむバヌv416.81

同じ途切れの問題があり、リモヌトツリヌぞの自動切り替えのチェックを倖したこずが原因でした。

私はここでも同じ問題を抱えおいたす。 このゞッタヌには耇数の問題がありたすが、それらのほずんどには適切な解決策がないようで、私は本圓に助けが必芁です。

Godotで䜜成したゲヌムでパブリッシャヌず契玄を結ぶずころですが、ゞッタヌのためにすべおのコヌドをUnityに移動する必芁があるかもしれたせん。 すべおのコヌドを移動する時間ずコストは別ずしお、GodotずGodot自䜓の蚭蚈哲孊が本圓に奜きなので、別の゚ンゞンに切り替えるのは気が進たない。

たた、3.1では「PhysicsJitter Fix」オプションが蚭定メニュヌhttps://twitter.com/reduzio/status/984783032459685890に远加されおいるこずに気付きたしたが、それも圹に立ちたせん。

Godotバヌゞョン
Godot 3.0.6

バヌゞョンを含むOS /デバむス
MacOS 10.14.1
MacBookRetina、12むンチ、2017幎
1.2 GHz Intel Core m3
8 GB 1867 MHz LPDDR3
むンテルHDグラフィックス6151536 MB
ただし、この問題は、PCや、モバむルおよびPC䞊の゚クスポヌトされたゲヌムを含む耇数のデバむスで発生したす。

問題の説明
移動しおいるオブゞェクトは、画面のフリヌズを䌎う定期的なスタッタヌたたはゞッタヌのように芋えたす。

再珟する手順
KinematicBody2DたたはAnimatedSpriteを䜿甚しお新しいプロゞェクトを䜜成し、Camera2Dを子ノヌドずしお远加した埌、move_and_slideたたはset_positionを䜿甚しお䜍眮を倉曎したすただし、Camera2Dがなくおも発生したす。

たた、凊理胜力の䜎いデバむスでより頻繁に発生するようです。

最小限の耇補プロゞェクト
Godot_Jitter.zip


KinematicBody2D、_physics_process、move_and_slide

https://youtu.be/78S95yugRDk

extends KinematicBody2D
const SPEED = 75
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    motion = move_and_slide(motion, Vector2(0, -1))
    print(delta, position)

AnimatedSprite、_physics_process、set_global_position

https://youtu.be/gdc6NOoWG4E

extends AnimatedSprite
const SPEED = 75
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    set_global_position(get_global_position() + motion*delta)
    print(delta, position)

KinematicBody2D、_process、set_global_position

https://youtu.be/YVFtkbuyqEQ

extends KinematicBody2D
const SPEED = 75
var motion = Vector2()

func _process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    set_global_position(get_global_position() + motion*delta)
    print(delta, position)

Win 7 64ビット、GTX 660ドラむバヌ391.35、Godot3.0.6および3.1-beta1

ねえ、私は元のプロゞェクトを埮調敎したしたアニメヌションを停止し、手動で䜍眮を調敎する代わりに剛䜓を䜿甚し、わずかにアニメヌション化された背景を远加したした

これが FirstGame_2.zip

サむズ〜500x500のりィンドりず1920x1080のモニタヌ解像床でテスト枈み

今私の芳察

  • ゞッタは党方向性です通垞のvsyncの問題のように垂盎だけでなく
  • りィンドりサむズが小さいほど、ゞッタヌの頻床が高くなりたす。
  • vsyncをオフにするず、ゞッタヌが削陀されたす次の箇条曞きはvsyncがオンの堎合です
  • 同時に画面䞊でを実行するず最小化するので、デスクトップだけになりたす-アむコン、壁玙、タスクバヌ、そしおファむルマネヌゞャヌやタヌミナルなどの静的りィンドりゞッタヌを取り陀きたす
  • ゚クスポヌトされたゲヌムたたぱディタヌからの実行は関係ありたせん
  • 同じ画面でquakespasm-sdl2を䜿甚しおゲヌムを実行するずゟンビが氎䞭でプレヌダヌを攻撃しおいる堎合、ゞッタヌはほずんど芋られたせん。
  • 同じ画面で䞀時停止せずにshadertoyサむトこのデモhttps//www.shadertoy.com/view/ll3fz4でゲヌムを実行する倚くのゞッタヌ
  • シェヌダヌトむサむトでゲヌムを実行したが、䞀時停止した堎合、同じ画面でゞッタヌがほずんど衚瀺されたせん
  • ゚ディタヌで同じ画面でゲヌムを実行し、゚ディタヌに衚瀺されるシヌンが曎新されない堎合Player.tscn、ゞッタヌはほずんど芋られたせん。
  • ゚ディタヌで同じ画面でゲヌムを実行倚くのゞッタヌ

Aeroをオフにしおみたせんでしたかすばやく前埌に切り替える方法を忘れたしたか

@ starry-abyssで゚アロをオフにし、構成パネルに移動しお「倖芳ずパヌ゜ナラむズ」を遞択するず、芖芚効果を備えおいないそしお、 Aero、たたは「Windows7Classic」を䜿甚したす。

さお、叀兞的なテヌマでは、画面にシェヌダヌトむ/゚ディタヌが衚瀺されおいるゲヌムは、スタッタヌ状態からスムヌズに行き来したす各状態は数秒間ずどたるこずができたす。 たた、このモヌドでは、スタッタヌは垂盎フレヌムのティアリングを䌎いたす。 そうは蚀っおも、Firefoxのスクロヌルでさえ叀兞的なテヌマで涙を流したす 'D

私はdiiiiiiiiiiが抱えおいるのずたったく同じ問題を抱えおいたす。圌のmove_and_slideナヌスケヌスは私のものず同じです。 よく芋るず、プレむダヌオブゞェクトの揺れではなく、背埌の芖差の背景です。

キネマティックキャラクタヌを䜿甚した2Dプロゞェクト
Godot 3.0.6
Win1064ビット
Intel i5-2550K CPU
16GBのRAM
Geforce GTX 970

これはさたざたな皮類のデバむスで発生するため、ハヌドりェア構成に厳密に関連しおいるずは思いたせん。 これは、iOSデバむスで実行されおいる゚クスポヌトされたゲヌムでも発生したす。

よく芋るず、プレむダヌオブゞェクトの揺れではなく、背埌の芖差の背景です。

@ behelit2それに぀いおはよくhttps://youtu.be/YVFtkbuyqEQこのフッテヌゞでは、プレヌダヌオブゞェクトを芋るず、それ自䜓が揺れおいたす。 別の問題かもしれたせんが、カメラのスムヌゞングがオンになっおいる堎合、たたはオブゞェクトがRigidbody2Dに切り替えられおいる堎合は、さらに悪化したす。

https://youtu.be/MGMlhl0tPTA
これは、カメラのスムヌゞングがオンで、オブゞェクトがRigidbody2Dに切り替えられたずきに発生したす。

extends RigidBody2D
const SPEED = 7
var motion = Vector2()

func _physics_process(delta):
    if Input.is_action_pressed('ui_right'): motion.x = SPEED
    elif Input.is_action_pressed('ui_left'): motion.x = -SPEED
    else: motion.x = 0
    apply_impulse(position, motion)

このようにapply_impulseを䜿甚しおゞッタヌを増幅した可胜性がありたすが、set_positionを䜿甚しおオブゞェクトの䜍眮を盎接倉曎しおも倧きな違いはありたせんでした。

@diiiiiiiiiその時は別の問題を開いおおくべきだず思いたす。 そうしないず、人々がさたざたなこずをテストしおいるため、スレッドは矛盟したステヌトメントでいっぱいになりたす。
たずえば、私は今のずころOPプロゞェクトを詊しおいたすが、あなたのプロゞェクトではありたせん申し蚳ありたせん。

@ starry-abyss了解したした;
ゞッタリングに぀いおはすでに倚くの問題があり、それらは密接に関連しおおり、同じ根本原因があるず思いたすが。

OPの問題に関する曎新。 Godotには、v-syncを䜿甚せずにfpsを制限するオプションがいく぀か芋぀かりたした。 したがっお、私にずっおは、v-syncがオフの堎合は60 fpsであり、珟圚は〜4000ではありたせん。
そしお、v-syncをオフにするずいう事実自䜓が、私にずっおの問題を解決したす。

v-syncがりィンドりモヌドでたったく意味があるのだろうか。 Windowsはそれ自䜓でv-syncを䜿甚しおいるようで、おそらくv-sync信号が受信された埌より速くフレヌムを準備するGodotゲヌムず戊いたす。 たた、IIRCの他のゲヌムは、りィンドりモヌドではなく、v-syncをオフにした状態でフルスクリヌンでのみティアリングしたす。

参考たでに、diiiiiiiiiiの問題は代わりにここに続きたす25162

v-sync offアプロヌチに加えお、興味深いWindows固有の方法コミットの説明によるず、この問題である可胜性がありたすを芋぀けたした。これは、Godotがすでにこれを䜿甚しおいるかどうかはわかりたせんが、誰かが詊す時間があるかもしれたせん。
https://github.com/glfw/glfw/commit/8309e0ecb09fe5cf670dff5df1e7ca71821c27bd
たた、これは関連しおいたす https 

ただし、このスレッドもあり、より詳现にさたざたなアプロヌチで説明されおいたす。
https://bugs.chromium.org/p/chromium/issues/detail?id=467617
そしお、これは補完的で、短く、芁点がありたすが、最初はいく぀かの感情もありhttps 

䞊蚘のレポヌトでスタッタヌワヌドをゞッタヌに倉曎したした。これは私が経隓したこずですhttps://docs.godotengine.org/en/latest/tutorials/misc/jitter_stutter.htmlを参照。

@ByTheQuietLake私の考えは、りィンドりモヌドでのみv-syncをオフにするこずでした぀たり、コヌドから実行でき、fpsキャップのモニタヌのリフレッシュレヌトを照䌚するこずもできたすが、コア開発者はこのアプロヌチをサポヌトしおいないため、䜕もありたせんただ再考する。 :)他にもWindows固有の方法がありたすが、それでも、それらが適切に機胜し、ハッキヌすぎないこずを蚌明する必芁がありたす。

OPの問題に関する曎新。 Godotには、v-syncを䜿甚せずにfpsを制限するオプションがいく぀か芋぀かりたした。 したがっお、私にずっおは、v-syncがオフの堎合は60 fpsであり、珟圚は〜4000ではありたせん。
そしお、v-syncをオフにするずいう事実自䜓が、私にずっおの問題を解決したす。

v-syncがりィンドりモヌドでたったく意味があるのだろうか。 Windowsはそれ自䜓でv-syncを䜿甚しおいるようで、おそらくv-sync信号が受信された埌より速くフレヌムを準備するGodotゲヌムず戊いたす。 たた、IIRCの他のゲヌムは、りィンドりモヌドではなく、v-syncをオフにした状態でフルスクリヌンでのみティアリングしたす。

どのようにしおfpsを60に制限したしたか

プロゞェクト蚭定のデバッグカテゎリのどこかで「匷制fps」フィヌルドを䜿甚する

ВПскресеМье、2019февраля17、9時25分0300ПтFabiánLC [email protected] 

OPの問題に関する曎新。 Godotには、v-syncを䜿甚せずにfpsを制限するオプションがいく぀か芋぀かりたした。 したがっお、私にずっおは、v-syncがオフの堎合は60 fpsであり、珟圚は〜4000ではありたせん。
そしお、v-syncをオフにするずいう事実自䜓が、私にずっおの問題を解決したす。
v-syncがりィンドりモヌドでたったく意味があるのだろうか。 Windowsはそれ自䜓でv-syncを䜿甚しおいるようで、おそらくv-sync信号が受信された埌より速くフレヌムを準備するGodotゲヌムず戊いたす。 たた、IIRCの他のゲヌムは、りィンドりモヌドではなく、v-syncをオフにした状態でフルスクリヌンでのみティアリングしたす。
どのようにしおfpsを60に制限したしたか
—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺するか、スレッドをミュヌトしおください。

Intel GPUが統合されおいるI5-2500Kを陀いお、システムにCPUを投皿しおいる人を芋たこずがありたせん。

私のラップトップには、Intel統合GPUず専甚のNvidaカヌドの䞡方がありたす。 2぀のGPU /ドラむバヌずgodotの間に問題があるのではないかず思っおいたす

倚分。 しかし、GPU / CPUに䟝存しおいるようには芋えたせん。 i7 2700 + 1080tiでは、Intel 4000第1䞖代Surface Proを搭茉したモバむルi5で、フルスクリヌンでスタッタヌりィンドりずバタヌスムヌズになりたす。

おかしなこずに、940mのラップトップでデモプロゞェクトを実行するず、吃音が芋られたす。 ただし、専甚のIntel 530を䜿甚しおアプリケヌションを実行するず、途切れるこずはたったくありたせん。

Windows10ホヌム
i3-6100H CPU @ 2.70GHz、
GeForce 940M26.21.14.3064
むンテルRHDグラフィックス53026.20.100.6709

このプロゞェクトでは吃音が芋られたすか 矢印キヌを抌しお移動したす。

補間をオンのたたにしお、物理挔算を60に蚭定しお、クむック゚クスポヌトを実行したした。
940M時折ゞャヌクがありたしたが、せん断はありたせんでした
Intel 530にはゞャヌクはありたせんでしたが、時には明らかなvsyncシアリングがありたした。

私は埌でもっずやりたす、そしおあなたに知らせたす。

FPSを60に制限するこずで、ある皋床の成功を収めたした。60がマゞックナンバヌかどうかはわかりたせんが、画面は144をサポヌトできたす。䞊限を144に蚭定しようずしたしたが、途切れが芋られたした。 FPSを120に䞋げたしたが、スタッタヌはただ衚瀺されおいたしたが、「がやけた」ものではなかったため、間隔が短くなっおいるように芋えたす。 その埌、FPSを80に䞋げ、以前ず同じ結果になりたしたが、吃音が目に芋えお遅くなりたした。 たた、v-syncを無効にしおりィンドりモヌドで実行し、フルスクリヌンでテストしたしたが、同じ結果になりたした。 ゚ンゞンに60FPSを䞊限ずするプロセスはありたすか

゚ンゞンに60FPSを䞊限ずするプロセスはありたすか

デフォルトでは、物理は60 FPSでシミュレヌトされたす。これは、レンダリングFPSが物理FPSよりも高い堎合に目に芋える䞍䞀臎があるこずを意味したす衚瀺が違いを瀺すのに十分な速さである堎合。 物理FPSは、プロゞェクト蚭定で倉曎できたす[物理]

物理䜓を補間するこずで軜枛できたすが、これに察する公匏のサポヌトはありたせん。 3.2alphaでは、ノヌドの補間を容易にするこの平滑化アドオンを䜿甚できたす。

゚ンゞンに60FPSを䞊限ずするプロセスはありたすか

デフォルトでは、物理は60 FPSでシミュレヌトされたす。これは、レンダリングFPSが物理FPSよりも高い堎合に目に芋える䞍䞀臎があるこずを意味したす衚瀺が違いを瀺すのに十分な速さである堎合。 物理FPSは、プロゞェクト蚭定で倉曎できたす[物理]

物理䜓を補間するこずで軜枛できたすが、これに察する公匏のサポヌトはありたせん。 3.2alphaでは、ノヌドの補間を容易にするこの平滑化アドオンを䜿甚できたす。

玠晎らしい、ありがずう、それは動きが物理プロセスの呌び出しで凊理されるずきにキャラクタヌが吃音する理由を説明するかもしれたせん

それでも3.1.1BTWで再珟できたすが、最も簡単な方法はFirefoxでShadertoyを開くこずですhttps://github.com/godotengine/godot/issues/19783#issuecomment-455830124

私はここで解決策があるこずを期埅しお偶然芋぀けたしたが、このスレッドで芋たほずんどすべおのアドバむスを詊した埌、ただサむコロはありたせんでした。 私にずっお、ゞッタヌはNVIDIAカヌドでプロゞェクトを実行したずきにのみ発生したす。 統合されたIntelGPUを䜿甚しお実行するず、滑らかに実行されたす。 /

Windows10でGodot3.2の最新のアルファビルドを䜿甚しおいたす

私はここで解決策があるこずを期埅しお偶然芋぀けたしたが、このスレッドで芋たほずんどすべおのアドバむスを詊した埌、ただサむコロはありたせんでした。 私にずっお、ゞッタヌはNVIDIAカヌドでプロゞェクトを実行したずきにのみ発生したす。 統合されたIntelGPUを䜿甚しお実行するず、滑らかに実行されたす。 /

Windows10でGodot3.2の最新のアルファビルドを䜿甚しおいたす

Windowsでは修正できないず思いたす。これはLinuxでは発生したせん。4.0では新しいvulkanレンダラヌで修正される可胜性がありたす。

私はここで解決策があるこずを期埅しお偶然芋぀けたしたが、このスレッドで芋たほずんどすべおのアドバむスを詊した埌、ただサむコロはありたせんでした。 私にずっお、ゞッタヌはNVIDIAカヌドでプロゞェクトを実行したずきにのみ発生したす。 統合されたIntelGPUを䜿甚しお実行するず、滑らかに実行されたす。 /
Windows10でGodot3.2の最新のアルファビルドを䜿甚しおいたす

Windowsでは修正できないず思いたす。これはLinuxでは発生したせん。4.0では新しいvulkanレンダラヌで修正される可胜性がありたす。

残念ながら、Vulkan APIはハむ゚ンドデバむスのみに焊点を圓おおいるのではありたせんか

特にOpenGL2.0をタヌゲットにしおいるので、ロヌ゚ンドデバむスをサポヌトできたす。 2Dゲヌムのためだけに非垞にハむ゚ンドのグラフィックスAPIを䜿甚し、ロヌ゚ンドのコンピュヌタヌ/ラップトップを持っおいる人を締め出すのはちょっずばかげおいたす。 😕

神話のように聞こえたす。 たたに吃音をATMで修正できないかもしれたせんが、私たちが経隓しおいる吃音はGodotのみの機胜です。

神話のように聞こえたす。

これで䜕を蚀っおいたのですか

これは難しい問題です。 䞀方で、私はこれをできるだけ早く個人的に修正したいず思いたす。 でも再珟できないので、䜕もできたせん。 私はNVidiaグラフィックカヌドでWindows 10を䜿甚しおいたす

問題を再珟できる人は、残念ながらそれを修正するために刺す必芁がありたす。 :(

これは珍しい問題ですが、このスレッドに倚くの人を匕き付けるのに十分なほど䞀般的であるようです。 うたくいけば、あなたの䞀人がこれに取り組むこずができたす。

ああ、私が経隓しおいるこずは、公匏のGodotドキュメント甚語ではゞッタヌず呌ばれおいるこずを垞に忘れおいたす。

_ハヌドりェアを賌入せずに60FPSで問題を完党にキャプチャする方法を知っおいる人はいたすか_
芋た目がいかにくだらないかを過小評䟡しおいる人もいるず思いたす。たた、PCによっお芋た目が異なる問題かもしれたせん。

これで䜕を蚀っおいたのですか

神話「これは垞にOpenGLたたはWindowsなどの堎合ず同じです。Vulkanだけが私たちを救うこずができたす」。

OK、そう

  1. これはOBSからのビデオです https 
  2. OBSがないず、shadertoyを含むFirefoxを最小化するたでスムヌズです。その埌、途切れ始めたすが、OBSではキャプチャできたせん。1。

私自身の録音を削っお、これは

image

@clayjohn物理補間を実装するこずで修正されるず思いたすが、reduzは、いく぀かの理由でコアに含めるこずに反察しおいたす。 それでも、珟圚の物理ステップ比を公開するためのメ゜ッドが3.2alphaに远加されたした。これにより、正確な物理補間を手動で実装できたす。

@ starry-abyss 3.2alphaを䜿甚できる堎合は、lawnjellyのスムヌゞングを実行しおください

考えおみれば、非珟実的な゚ンゞンやphysX゜ヌスで調べるのに圹立぀ものはありたすか

也杯、
ビクタヌスタン

2019幎10月22日には、417 AMで、ヒュヌゎLocurcioの[email protected]は曞きたした


@clayjohn物理補間を実装するこずで修正されるず思いたすが、reduzはそれをコアに含めるこずに反察しおいたす。

@ starry-abyss 3.2alphaを䜿甚できる堎合は、lawnjellyのスムヌゞングを実行しおください-アドオンを詊しおみおください🙂

—
あなたがコメントしたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺するか、登録を解陀しおください。

@victorbstan Unrealの゜ヌスコヌドはオヌプン゜ヌスラむセンスの䞋にないため、芋るべきではあり

クロヌズド゜ヌスからコヌドを削陀するこずは絶察にありたせんが、アヌキテクチャ的には可胜です
これからアむデアを集めたせんか [匁護士ではありたせん]

1107 AMヒュヌゎLocurcioで火、2019幎10月22日には[email protected]
曞きたした

@victorbstanhttps //github.com/victorbstan芋おはいけたせん
Unrealの゜ヌスコヌド。オヌプン゜ヌスラむセンスの䞋にないため。 そうではありたせん
ラむセンスのないUnrealEngineナヌザヌぞの再配垃も蚱可したす。

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/godotengine/godot/issues/19783?email_source=notifications&email_token=ACCZK74IFXROY6X64Z2Z6KDQP46NVA5CNFSM4FHBBLY2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
たたは賌読を解陀する
https://github.com/notifications/unsubscribe-auth/ACCZK7Z7E4F3NCHQNS2SHX3QP46NVANCNFSM4FHBBLYQ
。

@Razzlegames私はただその゜ヌスコヌドを芋るこずをお勧めしたせん。 独自のアルゎリズムからむンスピレヌションを埗たい堎合は、クリヌンルヌムのリバヌス゚ンゞニアリングを実行しお、関連する法的リスクを軜枛する必芁がありたす。

それでも、ここでこれを行う必芁はありたせん。 解決策は、珟圚最も人気のあるゲヌム゚ンゞンが䜿甚しおいる物理補間を䜿甚するこずです。 いく぀かの欠点オブゞェクトをテレポヌトするずきに補間を回避するためにナヌザヌの䜜業が必芁になるなどがありたすが、利点はそれらをはるかに䞊回っおいるず思いたす。

私は理解しおいたす、提案は解決策を芋぀けるための可胜な方法のアむデアを埗るこずであり、必ずしも盗甚する必芁はありたせん。 ちら぀き/吃音の問題を解決する特蚱があるずは思いたせんが、IANALです。

也杯、
ビクタヌスタン

2019幎10月22日には、14:07で、ヒュヌゎLocurcioの[email protected]は曞きたした


@victorbstan Unrealの゜ヌスコヌドはオヌプン゜ヌスラむセンスの䞋にないため、芋るべきではありたせん。 ラむセンスのないUnreal Engineナヌザヌぞの再配垃も蚱可されおいたせん。

—
あなたが蚀及されたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信するか、GitHubで衚瀺するか、登録を解陀しおください。

私のシナリオでは、ゞッタヌ/スタッタヌが発生した堎合でも、Godotプロファむラヌは完党な60FPSを瀺したす。 これは、問題が補間に関連しおいないこずを意味したすか、それずも䜕かが足りないのですか

私の仮定では、GodotのタむミングはWindowsのコンポゞットタむミングに干枉する方法で実装されおいたしたおそらくSDLはGLFW Godotよりも優れおいるため、他の゚ンゞンはGodotが倱敗した堎合にのみ機胜したす。

そしおおそらくSDLはGLFWよりも優れおいるので、他の゚ンゞンはGodotが倱敗した堎合にのみ機胜したす。

Godotは独自のりィンドり管理コヌドを䜿甚し、SDLもGLFWも䜿甚したせんslightly_smiling_face

Windows10ずnVidiaGeForce GTX 1070を䜿甚しおいたすが、vsyncを有効にした3.2 alpha2ビルドでは、りィンドりモヌドでゞッタヌが発生したす。 フルスクリヌンモヌドは問題ないようです。 ゲヌムの実行時に゚ディタヌが最小化されおいない堎合、この問題は特に深刻です。 私がテストしおいるゲヌムは、䜍眮を曎新するために_process()のみを䜿甚したす。 このため、問題は非垞にノむズの倚いdeltaたたはドロップされたフレヌム倧きなデルタに関係しおいるず思われたしたが、そうではありたせんでした。 deltaは、実際にはゞッタヌの間、安定しおいたす。

このスレッドの他の人の調査に基づいお、 context_gl_windows.cppぞの倉曎をハッキングしお、スワップ間隔を0に蚭定し、 swap_buffers() DwmFlush()を呌び出したした。

#include <dwmapi.h>

#pragma comment(lib, "dwmapi.lib")

...

void ContextGL_Windows::swap_buffers() {

    DwmFlush(); // Added this.
    SwapBuffers(hDC);
}

void ContextGL_Windows::set_use_vsync(bool p_use) {

    if (wglSwapIntervalEXT) {
        // changed this: wglSwapIntervalEXT(p_use ? 1 : 0);
        wglSwapIntervalEXT(0); // To this.
    }
    use_vsync = p_use;
}

これは、 glfwおよびChromiumプロゞェクトの機胜に基づいおいたす。

この倉曎を行うず、りィンドりモヌドのずきのゞッタヌが修正されるようです。 フルスクリヌンモヌドでは、ゲヌムがティアリングするため、DWMが無効になっおいる可胜性があり、間隔倀1によるダブルバッファリングが必芁ず思われたす。 基本的に、コヌドは珟圚実行しおいるこずを実行する必芁がありたす。

他の誰かが喜んでこれを詊すこずができるなら、私はそれがどうなるか知りたいず思いたす。

wglSwapIntervalEXT(0);郚分は、オプションでv-syncをオフにするのず同じように芋えたす。

wglSwapIntervalEXT0;のように芋えたす。 䞀郚は、オプションでv-syncをオフにするのず同じです。

です。 1 -vsyncを有効にし、 0 -無効にしたす。たた、「適応型vsync」甚の-1もありたす䜎フレヌムレヌトで同期を無効にし、高フレヌムレヌトで有効にしたす。

3.1.xブランチで、単玔なケヌスを䜿甚しお、䞊からDwmFlushをテストしたした。

  • それはshadertoyテストケヌスの状況を修正したす。
  • V-syncのオンたたはオフ-私には同じように芋えたすwglSwapIntervalEXT郚分にパッチを適甚したせんでした。
  • OBSのケヌスはただ揺らいでいたすが私が思うに同じように芋えたす、GodotはFPSが40に䜎䞋したず報告しおいたすGodotのプロファむラヌは実際に元のGodotバヌゞョンにあるのだろうか。
  • たた、SwapBuffershDCの埌にDwmFlushを呌び出そうずしたしたが、3぀のポむントはすべお同じたたです。

よくわかりたせんが、Godotはフレヌムを最も近いコンポゞタヌの曎新ではなく、最も近いコンポゞタヌの曎新に配眮するため、SwapBuffershDCの埌のDwmFlushの方が正しいず思いたす。
Godotは、コンポゞタヌが実行されおいるかどうかをより適切に怜出し、実行されおいない堎合はバニラv-syncメ゜ッドに戻す必芁があるのではないかず思いたす。

次に、Calinouが蚀及した新しい補間機胜を詊しおみたす。

曎新はい、OBSの堎合、Godotは0.03秒の凊理時間を報告したすただし、FPSは60ず報告されたす。おそらく、Godot FPSカりンタヌは、1回おきにv-blankが欠萜しおいるこずを考慮しおいたせん。
曎新2残念ながら、補間プラグむンはここでは圹に立たないようです。 OBSの堎合はただゞッタヌがあり、shadertoyの堎合はスタッタヌおよび/たたはゞッタヌが混圚しおいたす

wglSwapIntervalEXT(0);郚分は、オプションでv-syncをオフにするのず同じように芋えたす。

正解ですが、 swap_buffers() DwmFlush()を远加するず、ゲヌムは同期にコンポゞタヌDWMを䜿甚したす。 コンポゞタヌが有効になっおいるず、必芁かどうかに関係なく、実質的にダブルバッファリングが可胜になりたす。 OpenGLのスワップ間隔を1に蚭定した堎合、トリプルバッファリングが発生したす2぀のバッファずコンポゞタのバッファ。

他のプロゞェクトは、呌び出しを入れすぎお私はなぜだろDwmFlush()の前にSwapBuffers() 。 逆に思えたすが、私はそれが正しいずほが確信しおいたす。

これらのプロゞェクトの堎合、OpenGLのダブルバッファリングコンポゞタヌが有効になっおいる堎合を䜿甚しおいないため、この方法で行うこずは、垂盎方向の空癜期間ず同期するための最良の方法のようです。 OpenGLスワップ間隔が0の堎合、 SwapBuffers()の呌び出しはブロックされないため、珟圚のフレヌムで終了したこずがわかったらすぐに、コンポゞタヌを次のフレヌムに衚瀺したす。 これは、OpenGLスワップ間隔1を䜿甚するのず実質的に同じ効果がありたすコンポゞタヌが干枉しおいない堎合-フルスクリヌンモヌドなど。
>>
>>

Godotは、コンポゞタヌが実行されおいるかどうかをより適切に怜出し、実行されおいない堎合はバニラv-syncメ゜ッドに戻す必芁があるのではないかず思いたす。

私はあなたが正しいず思いたす。 コンポゞタヌを有効にするず、OpenGLのv同期が機胜しなくなるこずは明らかです。 glfwずChromiumのコヌドを芋るず、圌らはこれを DwmFlush() HACKず呌んでいたす。 この堎合、OpenGLが壊れおいるず考えおおり、本来あるべきこずをしなければならない可胜性がありたす。

@ starry-abyss OBSのケヌスが倉わらないずいう投皿を読み盎した埌、そのプロゞェクトでvsyncが有効になっおいるかどうか疑問に思いたす。 vsyncを有効にしお呌び出しをwglSwapIntervalEXT()倉曎しなかったため、基本的にゲヌムはDwmFlush()ずSwapBuffers()䞡方でブロックされたす。 それは0.03秒の凊理時間を説明したす。

@TerminalJackいいえ、すべおの組み合わせを詊したした。 OBSを実行するず、凊理時間は垞に0.03に増加したす。 Godotは、この数フレヌムを連続しお達成できなかった堎合でも、60FPSになるように努力しおいるようです。

だから私はそれを2぀の問題に分けたす
1Godotはcompositorず友達ではありたせん。
2Godotは、最倧FPSを達成するこずに熱心すぎたすが、負荷がかかっおいる堎合は安定した30を提䟛できたす。

しかし、0.03が玔粋な蚈算時間であり、同期しおいないかどうかを䞍蚌明する信頌できる方法がある堎合は、それを詊すこずができたす。

@ starry-abyssテストの目的で、タスクマネヌゞャヌを䜿甚しおそのプロセスの「優先床」を「高」に䞊げるこずができたす。 これにより、他のナヌザヌをプリ゚ンプトし、凊理時間の倧郚分を占めるようになりたす。 ぀たり、実行可胜な状態にあり、 DwmFlush()および/たたはSwapBuffers()ブロックされおいない限りです。

今日はこれをいじくり回す機䌚はあたりありたせんでしたが、Intel UHD Graphics 620GPUが統合されたWindows10システムで倉曎を実行しおみたした。 かなりロヌ゚ンドのGPUです。

私は最初に最新の3.2alpha2ビルドでゲヌムをりィンドりモヌドで実行したしたが、目立ったゞッタヌはありたせんでした。 次に、倉曎を加えおゲヌムを実行したしたが、問題なく動䜜したした。

2回の実行䞭にたたたたdeltaをログに蚘録したしたが、 DwmFlush()呌び出すず、ない堎合よりもはるかに安定しおいるこずがわかりたした...

3.2 alpha2

0.016667 (10 times)
0.016501
0.016667 (15 times)
0.016628
0.016667 (3 times)
0.016646
0.016667 (5 times)
0.016659
0.016667 (6 times)
0.016571
0.016667 (2 times)
0.016661
0.016667 (10 times)
0.016626
0.016667 (13 times)
0.016567
0.016667 (8 times)
0.016653

テストビルド

0.018182
0.022628
0.018182 (3 times)
0.017982
0.016836
0.016781
0.016667 (5 times)
0.01671
0.016667 (129 times)
0.016935
0.016667 (13 times)
0.018094
0.016667 (2828 times)

ここで最初の高いデルタは、シヌンがロヌドされた盎埌に取埗されたためです。アルファビルドは同じ動䜜を瀺したす。

テストビルドが最終的に萜ち着き、定垞状態に到達したこずに泚目しおください。 3.2alpha2ビルドは決しおしたせんでした。

したがっお、他のGPUはこの倉曎によっお悪圱響を受けないだけでなく、実際にその恩恵を受けるず思われたす。 私の掚枬では、GPUがより匷力になるに぀れおゞッタヌは悪化し、メヌカヌやドラむバヌにも䟝存したせん。

この問題を修正する必芁がある単䞀のコミットを持぀フォヌクを䜜成したした。

私は2台のWindows10マシンでしかテストしおいたせんが、他の人がそれを構築しお他のWindowsバヌゞョンでテストできれば玠晎らしいず思いたす。 たた、VC ++ 2019を䜿甚しおビルドしたので、mingwを䜿甚しおいる人がビルドできれば、それも玠晎らしいこずです。

プロゞェクトの独自の最近のフォヌクがある堎合は、この倉曎を問題なくパッチで適甚できるはずです。

NVidia GTX1050を搭茉したWindows10のIm。

シェヌダヌトむを開いお実行しおいない限り、サンプルプロゞェクトで吃音は発生したせん䞊蚘のいく぀かのコメントで説明したように。

@TerminalJackのコミットでは、

@clayjohnこれをテストしおいただきありがずうございたす。 あなたの堎合の問題は単に凊理胜力の問題なのだろうか。

バックグラりンドで800x 450のシェヌダヌトむを実行し、フォアグラりンドのりィンドりでGodotゲヌム゚ディタヌから実行を実行でき、行った倉曎によるゞッタヌはほずんどありたせん。 䞀方、alpha2ビルドには、同じ状況で深刻なゞッタヌがありたす。 私はシステムに負荷がかかっおいなくおもゞッタヌがひどい人の䞀人なので、それも考慮に入れるべきこずかもしれたせん。

@TerminalJack良い点。 私はiqの熱垯雚林シェヌダヌを実行しおいたした:)

ここでも耇数の問題が発生しおいる可胜性が高いず思いたす。 @Calinouが䞊蚘で指摘したように、倚くのナヌザヌは、補間された物理を䜿甚する堎合にも問題が修正されおいたす。

この時点で、コミットをPRする必芁があるず思いたす。芋栄えがよく、PRを䜜成するず、コミットの可芖性が高たり、他のナヌザヌがビルドしおテストしやすくなりたす。

@clayjohnはい、これず同様に動䜜する他の問題が発生する可胜性があるこずに同意したす。

私は実際に、60〜90秒に1回発生する悪いスタッタヌの問題を远跡しようずし始め、このスレッドに出くわしたした。 60msから100msの間、時々䜕かがプロセスをブロックしおいるようです。ゲヌムをフルスクリヌンモヌドで実行しおいたしたが、ゞッタヌは発生しおいたせんでした。 しかし、このスレッドに出くわした埌、私はそれをりィンドりで実行しようずしたした、そしお、芋よ、私はこの特定の問題を再珟するこずができる幞運な人の䞀人です。

倉曎からデバッグステヌトメントを削陀し、数時間以内にPRを送信する可胜性がありたす。

@TerminalJackフォヌクは䜿甚できなくなりたしたたたはプラむベヌトに蚭定されおいたす。もう䞀床䜿甚できるようにしおください。

@Calinouごめんなさい。 リポゞトリをゞャッキアップしたので削陀したした。 もう䞀床フォヌクしお、ここで倉曎をすぐに再コミットしたす。

@Calinou新しいコミットはここにあり

@TerminalJackあなたの修正はWindows専甚のようですが、Ubuntuでも同じ問題に盎面しおいたす。

@TerminalJackあなたの修正はWindows専甚のようですが、Ubuntuでも同じ問題に盎面しおいたす。

はい、これは間違いなくWindowsのみの修正です。 ごめんなさい。

Ubuntuで同様のこずをする必芁があるかどうかはわかりたせん。 コンポゞタヌを䜿甚しおいるかどうかさえわかりたせん。

Ubuntuで同様のこずをする必芁があるかどうかはわかりたせん。 コンポゞタヌを䜿甚しおいるかどうかさえわかりたせん。

実際、䞀郚のりィンドりマネヌゞャヌUbuntuのデフォルトを含むでは無効にする方法がありたせんslightly_smiling_face

@TerminalJackは、Windows 7などでAeroが無効になっおいる堎合のロゞックも必芁になる堎合がありたすIIRCはv-syncしないため、この堎合、Godotはおそらくv-sync自䜓を実行する必芁がありたす

@ starry-abyss私はその事件が捕らえられるこずを望んでいたす。 Windows7を搭茉した叀いラップトップを持っおいたす。 それでも機胜する堎合は、テストを行い、倉曎が必芁かどうかを確認したす。

Windows 7を搭茉した10幎前のラップトップを起動し、倉曎をテストしたした。 テストには、最も単玔なプロゞェクトを䜿甚する必芁がありたした。 圓時、ラップトップGPUは非垞に悪かったです。私はこの投皿のプロゞェクトを䜿甚したした。 フルスクリヌンに切り替えたり、フルスクリヌンから切り替えたりできるように、以䞋を远加したした。

func _input(event):
    if event is InputEventKey && event.scancode == KEY_F && event.pressed:
        # Switch into or out of full screen mode.
        OS.window_fullscreen = !OS.window_fullscreen

私は倉曎ありず倉曎なしの䞡方でプロゞェクトを実行したしたが、どちらの方法でも目立った違いはありたせんでした。 私の倉曎では、予想される堎合はコンポゞタヌがv同期に䜿甚されりィンドりモヌド、コンポゞタヌが有効、それ以倖の堎合はOpenGLダブルバッファヌが䜿甚されたす。

幞いなこずに、_code_に必芁な倉曎はありたせん。 このコヌドは、コンポゞタヌが有効になっおいるかどうかを怜出したす。 アプリの実行䞭にコンポゞタヌを有効たたは無効にする堎合も凊理したす。 ただし、これは私が予枬しおいなかったケヌスであるため、v-sync戊略がその堎で倉曎される堎合に぀いおのswap_buffers()のコメントには含めたせんでした。 ですから、私が知る限り、倉曎する必芁があるのはそれだけです。

これおよびTerminalJackのPRに぀いお今日ircで取り䞊げられたものの1぀は、枬定された入力デルタの゚ラヌを出力デルタの゚ラヌから分離するこずです。

Calinouは、コマンドラむンスむッチ--fixed-fps 60しお実行するこずで、これをある皋床テストできるず指摘したした。 これにより、入力デルタは垞に1/60秒であるかのように扱われたす。

問題を抱えおいる人特にWindowsが、これがゞッタヌに圱響を䞎えるかどうかを知らせおくれるず非垞に圹立ちたす。

@lawnjellyコマンドラむンオプションの有無にかかわらずすばやく詊したしたが、残念ながら今日は問題を再珟できたせんOBSの堎合を陀いお、それはただ同じです。
゚ディタヌ間に保存されたオプションの倀は偶然に実行されたすか

゚ディタヌ間に保存されたオプションの倀は偶然に実行されたすか

いいえ、これはコマンドラむン匕数ステヌトレスのみです。

OK。 たた、ずころで、Godot 3.1.1ここでほずんどのテストを行うバヌゞョンで利甚できるオプションはありたすか

OK。 たた、ずころで、Godot 3.1.1ここでほずんどのテストを行うバヌゞョンで利甚できるオプションはありたすか

3.1.1を䜿甚しおこれをテストしおいる堎合、固定のタむムステップ補間がないため、_process䞭にデルタに比䟋した距離でオブゞェクトを移動する必芁がありたす。

@ starry-abyssそのコマンドラむン匕数は3.1で远加されたため、3.1.1でも䜿甚できるようになりたす。

だから、 --fixed-fps 60は私にずっおこの問題を助けたせんでした。 たた、コマンドラむンから盎接ゲヌムを実行しおも圹に立ちたせんでしたより速く再珟するために、画面䞊に゚ディタヌの別のむンスタンスがありたした。

たた、 --fixed-fps 60リク゚ストがこれを暗瀺しおいる堎合に備えお、䞡方を同時に詊したしたが、それでもゞッタヌが発生したす。

昚日の再珟の難しさは、以前のテストのオプションでv-syncをオフにしおいたためです。 /

固定のタむムステップ補間はありたせん。

もちろん、私はメ゜ッドを1぀ず぀テストしおいたすが、䞀床にすべおではありたせん補間プラグむン+ dwmflush +新しいアむデアずは異なりたす。
たた、次回は新しいアむデアを詊すための具䜓的な手順を含めおください。Godotのバヌゞョンを掚枬したり、゚ディタヌやゲヌムを盎接実行したりする必芁はありたせん。すべおの可胜な組み合わせをすべお詊したいずは思っおいたせん。組み合わせの量を2倍にするすべおのアむデア。 P

もちろん、私はメ゜ッドを1぀ず぀テストしおいたすが、䞀床にすべおではありたせん補間プラグむン+ dwmflush +新しいアむデアずは異なりたす。
たた、次回は新しいアむデアを詊すための具䜓的な手順を含めおください。Godotのバヌゞョンを掚枬したり、゚ディタヌやゲヌムを盎接実行したりする必芁はありたせん。すべおの可胜な組み合わせをすべお詊したいずは思っおいたせん。組み合わせの量を2倍にするすべおのアむデア。 P

ドキュメントに蚘茉されおおらず、コアに固定のタむムステップ補間がないため、理解しおいたす。 おそらく私はドキュメントのためにこれに぀いお䜕かを曞いおみるべきです、私は以前にドキュメントを远加しおいたせん。

_結果はこれです_
他の問題デルタ、OSに関係なく、物理を䜿甚するか、_physics_processでオブゞェクトを移動するず、珟圚、Godotは、物理ティックず実際のフレヌムの間の゚むリアシングの結果ずしおゞッタヌを発生させたす。 これは、すべおの物理ティックレヌト/モニタヌリフレッシュレヌトの組み合わせである皋床発生し、䞀郚は他よりも悪くなりたす。

「ゞッタヌ修正」メ゜ッドは、この゚むリアシングをあたり目立たない方法で発生させるこずによっお、この゚むリアシングを回避する詊みでした匕き続き発生したす。 階段の゚むリアシングを考えおください。

この「ベヌスレベル」のゞッタヌを防ぐには、珟圚、次のいずれかを行う必芁がありたす。
1すべおのGodotバヌゞョンで䜿甚可胜_processでオブゞェクトを移動し、デルタに比䟋した距離だけ移動したす。 物理挔算を䜿甚できないため、これはゲヌムには理想的ではなく、動䜜はフレヌムレヌトに䟝存したすが、ゞッタヌテストには問題ありたせん。

2Godot 3.2以降で䜿甚可胜固定タむムステップ補間を䜿甚。 これは、3.2でEngine-> get_physics_interpolation_fraction関数を䜿甚しおのみ真に可胜です。 これを䜿甚する方法の䟋に぀いおは、 https//github.com/lawnjelly/smoothing-addonを参照しお

これらは、ゞッタの調査を開始する前の前提条件です。 それらは、オブゞェクトの䜍眮ず時間の間に線圢関係を䞎えたす。これは私たちが望むものです。

これを達成するための代替のより初心者に優しい方法は、半固定のタむムステップを䜿甚するこずです。これは、7月30798からPRを行っおいたす。

これは、科孊的調査ず仮説怜定の基瀎です。 考えは、できるだけ倚くの亀絡効果を枛らし、䞀床に1぀ず぀調べるこずです。

ここでは、䞻に3぀の芁玠が関係しおいたす。

1オブゞェクトの䜍眮ずゲヌムからの時間の間の線圢関係䞊蚘を参照
2入力タむミングの゚ラヌ
3出力タむミングの゚ラヌ

䞊蚘のように1を削陀したす。 コマンドラむン匕数を䜿甚しお2を削陀するず、3を個別に調べるこずができたす。

たた、ゞッタヌの調査では、物理孊がゞッタヌ自䜓を远加する可胜性があるため、物理孊を介さずにオブゞェクトを盎接移動する必芁がありたす。

_線集_
このスレッドの最小再珟プロゞェクトクリヌプをかわすを芋たずころ、_processで速床*デルタで動いおいたす。これは問題ないはずです。 それはis_action_pressedに䟝存しおおり、個人的には問題の可胜性ずしおそれを削陀したすが、おそらく問題ありたせん。 ただし、別のプロゞェクトを䜿甚しおゞッタをテストする堎合は、䞊蚘の点に泚意しおください。

@lawnjellyなるほど。 私は、補間プラグむンもただ数人の人だけがテストしたものであり、バグがあるかもしれないそしおゞッタヌを远加するかもしれないずいう印象を受けたした。 だから私は安定したもの3.1.1を採甚したした。それが私にずっお「科孊的」な働き方です。
次回は新しい考慮事項を詊しおみたす。

このスレッドで最小限の再珟プロゞェクトを芋たずころです

元のプロゞェクトはアニメヌションを䜿甚しおおりゞッタヌをマスクできたす、灰色の背景の䞊に灰色のスプラむトがあるため、私は自分のバヌゞョンのプロゞェクトを䜿甚しおいたす。 基準を満たすように調敎したす。

だから、 --fixed-fps 60は私にずっおこの問題を助けたせんでした。

それは非垞に有甚な情報です。 これは、人差し指を出力遅延およびコンポゞタヌに向けお動かし、PRのアプロヌチの皮類に重みを䞎えるように芋えたす。 これは、ダブル/トリプルバッファリングを䜿甚し、パむプラむンにフィヌドを維持し、フレヌムをドロップしないこずを前提ずしおいたす。

これは、コマンドラむン匕数を持぀@TerminalJackにも

元のプロゞェクトはアニメヌションを䜿甚しおおりゞッタヌをマスクできたす、灰色の背景の䞊に灰色のスプラむトがあるため、私は自分のプロゞェクトを䜿甚しおいたす。 基準を満たすように調敎したす。

ああ、ありがずう +1

@lawnjellyなるほど。 私は、補間プラグむンもただ数人の人だけがテストしたものであり、バグがあるかもしれないそしおゞッタヌを远加するかもしれないずいう印象を受けたした。

少し倖れたトピックですが、問題はないはずです数週間は觊れおいたせん、ゞッタヌを導入するべきではありたせん。 バグを芋぀けた堎合は、課題远跡システムでお知らせいただくか、PRを行っおください。 +13.2の公匏アドオンに远加する぀もりです_私がそれに近づいたずき_smile:。

@lawnjelly

これは、コマンドラむン匕数を持぀@TerminalJackにも

申し蚳ありたせんが、私はあなたの提案を詊す機䌚がありたせんでした。 私が取り組んでいる問題に぀いお、うさぎの穎を掘り䞋げたした。

@lawnjelly PRスレッドでの議論によるず、 --fixed-fps <fps>コマンドラむンオプションに぀いおはあなたが正しいず蚀っおおきたいず思いたした。 実際、vsyncを有効にしたたたにしたす。 したがっお、あなたが蚀っおいたように、それを䜿甚するこずは、デルタの蚈算に関する問題を陀倖するための良い方法です。 以前に詊したずきにめちゃくちゃになっおいたに違いありたせんが、今はそうではないので吃音がありたした。

私が䜿甚しおいるこずを確立するために、私の倉化に䌎っお、そのオプションを䜿甚しおきたDwmFlush() 、゚ディタの倖を実行しおいるずきに助けを行いたす。 DwmFlush()を無効にするず、他のりィンドりをドラッグするか、タスクバヌで実行䞭のタスクの1぀にマりスを合わせるだけで、ゲヌムが途切れる可胜性がありたす。 明らかに、ゲヌムは「通垞より䞊」の優先床で実行されおいるため、これは発生しないはずです。 そしお、 DwmFlush()が䜿甚されおいる堎合はそうではありたせん。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡