aboutsummaryrefslogtreecommitdiff
path: root/src/RaytraceDispatcher.ts
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2022-01-02 20:38:01 +0000
committerJames Barnett <noreply@jamesbarnett.xyz>2022-01-02 20:38:01 +0000
commitdde729e31a3aa9b5dadd0c0f07b3cb1f497067bb (patch)
tree5b09c856af7c16008891b736cd504a3d068e234d /src/RaytraceDispatcher.ts
parente075667cd2dc878dd9dceb07c85719f6712bcda1 (diff)
downloadjs-raytracer-dde729e31a3aa9b5dadd0c0f07b3cb1f497067bb.tar.xz
js-raytracer-dde729e31a3aa9b5dadd0c0f07b3cb1f497067bb.zip
Add console output
Diffstat (limited to 'src/RaytraceDispatcher.ts')
-rw-r--r--src/RaytraceDispatcher.ts14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/RaytraceDispatcher.ts b/src/RaytraceDispatcher.ts
index 866d2d1..1ce412f 100644
--- a/src/RaytraceDispatcher.ts
+++ b/src/RaytraceDispatcher.ts
@@ -3,13 +3,16 @@ import {Framebuffer} from './Framebuffer';
import {RaytraceContext} from './RaytraceContext';
import {instanceToPlain} from 'class-transformer';
import 'reflect-metadata';
+import {Logger} from './Logger';
export class RaytraceDispatcher {
private renderStartMs: number;
private responsesReceived = 0;
constructor(
readonly framebuffer: Framebuffer,
- readonly context: RaytraceContext
+ readonly context: RaytraceContext,
+ readonly logger: Logger,
+ readonly onComplete: Function
) {
this.renderStartMs = new Date().getTime();
}
@@ -30,9 +33,7 @@ export class RaytraceDispatcher {
rowEndIndex: number,
context: RaytraceContext
) {
- console.log(
- `Dispatching worker for lines ${rowStartIndex} to ${rowEndIndex}`
- );
+ this.logger.log(`Dispatching worker: rows ${rowStartIndex}-${rowEndIndex}`);
const raytracer = new Worker(new URL('./Raytracer.ts', import.meta.url));
@@ -55,9 +56,10 @@ export class RaytraceDispatcher {
private handleWorkerComplete() {
if (++this.responsesReceived === this.context.options.numThreads) {
- console.log(
- `Render completed in ${new Date().getTime() - this.renderStartMs}ms`
+ this.logger.log(
+ `Raytrace completed in ${new Date().getTime() - this.renderStartMs}ms`
);
+ this.onComplete();
}
}