You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As mentioned on Discord, I've experienced a performance hit on upgrading from Quark 1.0.4RC2 to Console8 2.6.0 (and now with 2.7.2).
I've narrowed the performance issue down to the timings of the canvas->drawBitmap(xpos,ypos,currentRow); call. My testing involves wrapping the statement with xTaskGetTickCountFromISR() and calculating the time to execute. On the older VDP version, the execution was completing in 13-17 ticks, while on the newer VDP version, it takes between 23-25 ticks. This has a visible effect on screen as my code is drawing 30 bitmaps of 320x8 pixels per frame, so the lower the execution time, the better!
In order to try and narrow the issue down, I downgraded the vdp-gl lib_deps reference in platformio.ini and then attempted a build. For every error (functions that are referenced in the VDP code, but not in the underlying vdp-gl), I commented out the offending statement(s) until it built successfully. I then ran my test code.
I can confirm that if I revert to the vdp-gl.git#copy-to-bitmap build, the performance is fast. The performance overhead and slowdown appears to be the result of upgrading vdp-gl to the vdp-gl.git#gcol-paint-modes build.
I will continue to investigate, but if you have any ideas on what might be causing the slowdown, it would be appreciated. Given that my code is working correctly without the functionality in the gcol-paint-modes build, one possible option might be to facilitate a "fast path" to bypass the new features, but open to thoughts and ideas. Thanks.
The text was updated successfully, but these errors were encountered:
As mentioned on Discord, I've experienced a performance hit on upgrading from Quark 1.0.4RC2 to Console8 2.6.0 (and now with 2.7.2).
I've narrowed the performance issue down to the timings of the
canvas->drawBitmap(xpos,ypos,currentRow);
call. My testing involves wrapping the statement withxTaskGetTickCountFromISR()
and calculating the time to execute. On the older VDP version, the execution was completing in 13-17 ticks, while on the newer VDP version, it takes between 23-25 ticks. This has a visible effect on screen as my code is drawing 30 bitmaps of 320x8 pixels per frame, so the lower the execution time, the better!In order to try and narrow the issue down, I downgraded the vdp-gl
lib_deps
reference in platformio.ini and then attempted a build. For every error (functions that are referenced in the VDP code, but not in the underlying vdp-gl), I commented out the offending statement(s) until it built successfully. I then ran my test code.I can confirm that if I revert to the
vdp-gl.git#copy-to-bitmap
build, the performance is fast. The performance overhead and slowdown appears to be the result of upgrading vdp-gl to thevdp-gl.git#gcol-paint-modes
build.I will continue to investigate, but if you have any ideas on what might be causing the slowdown, it would be appreciated. Given that my code is working correctly without the functionality in the
gcol-paint-modes
build, one possible option might be to facilitate a "fast path" to bypass the new features, but open to thoughts and ideas. Thanks.The text was updated successfully, but these errors were encountered: