メモリ リークと思われる問題が発生しています。コードを実行すると、アプリケーションがクラッシュするまでメモリ使用量が増加し続けます。
私は GC.start を使用して、未使用のオブジェクトがすべて削除されていることを確認しています。私も ObjectSpace モジュールを使用して犯人を追跡していますが、何が起こっているのか理解できていません。
このファイルhttps://www.dropbox.com/s/0j75ylcsj3rs0ro/Log_1.txtに、ObjectSpace count_objects の出力を記録しました。コマンドからの最初の出力は、1 つの大きな for ループの前にあります。各ループの最後に GC.start を使用します。私が見たところ、オブジェクトの総数は for ループの間一定のままですが、アプリケーションが使用するメモリは増え続けています。
コードの簡素化されたバージョンは、このリンクにあります https://www.dropbox.com/s/5fnludxurs1ljy8/Shading.rb