public class ChunkRenderDispatcher
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
ChunkRenderDispatcher.PendingUpload |
Modifier and Type | Field and Description |
---|---|
private int |
countRenderBuilders |
private java.util.List<ChunkRenderWorker> |
listThreadedWorkers |
private java.util.List<java.lang.Thread> |
listWorkerThreads |
private static org.apache.logging.log4j.Logger |
LOGGER |
private java.util.concurrent.PriorityBlockingQueue<ChunkCompileTaskGenerator> |
queueChunkUpdates |
private java.util.Queue<ChunkRenderDispatcher.PendingUpload> |
queueChunkUploads |
private java.util.concurrent.BlockingQueue<RegionRenderCacheBuilder> |
queueFreeRenderBuilders |
private ChunkRenderWorker |
renderWorker |
private static java.util.concurrent.ThreadFactory |
THREAD_FACTORY |
private VertexBufferUploader |
vertexUploader |
private WorldVertexBufferUploader |
worldVertexUploader |
Constructor and Description |
---|
ChunkRenderDispatcher() |
ChunkRenderDispatcher(int countRenderBuilders) |
private static final org.apache.logging.log4j.Logger LOGGER
private static final java.util.concurrent.ThreadFactory THREAD_FACTORY
private final int countRenderBuilders
private final java.util.List<java.lang.Thread> listWorkerThreads
private final java.util.List<ChunkRenderWorker> listThreadedWorkers
private final java.util.concurrent.PriorityBlockingQueue<ChunkCompileTaskGenerator> queueChunkUpdates
private final java.util.concurrent.BlockingQueue<RegionRenderCacheBuilder> queueFreeRenderBuilders
private final WorldVertexBufferUploader worldVertexUploader
private final VertexBufferUploader vertexUploader
private final java.util.Queue<ChunkRenderDispatcher.PendingUpload> queueChunkUploads
private final ChunkRenderWorker renderWorker
public ChunkRenderDispatcher()
public ChunkRenderDispatcher(int countRenderBuilders)
public java.lang.String getDebugInfo()
public boolean runChunkUploads(long finishTimeNano)
public boolean updateChunkLater(RenderChunk chunkRenderer)
public boolean updateChunkNow(RenderChunk chunkRenderer)
public void stopChunkUpdates()
public void freeRenderBuilder(RegionRenderCacheBuilder p_178512_1_)
public RegionRenderCacheBuilder allocateRenderBuilder() throws java.lang.InterruptedException
java.lang.InterruptedException
public ChunkCompileTaskGenerator getNextChunkUpdate() throws java.lang.InterruptedException
java.lang.InterruptedException
public boolean updateTransparencyLater(RenderChunk chunkRenderer)
public com.google.common.util.concurrent.ListenableFuture<java.lang.Object> uploadChunk(BlockRenderLayer p_188245_1_, BufferBuilder p_188245_2_, RenderChunk p_188245_3_, CompiledChunk p_188245_4_, double p_188245_5_)
private void uploadDisplayList(BufferBuilder bufferBuilderIn, int list, RenderChunk chunkRenderer)
private void uploadVertexBuffer(BufferBuilder p_178506_1_, VertexBuffer vertexBufferIn)
public void clearChunkUpdates()
public boolean hasChunkUpdates()
public void stopWorkerThreads()
public boolean hasNoFreeRenderBuilders()