View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001114||OpenMPT||[All Projects] User Interface||public||2018-04-15 17:24||2018-04-18 14:43|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Target Version||OpenMPT 1.?? (long term goals)||Fixed in Version|
|Summary||0001114: Rewrite pattern view drawing|
Pattern view is currently drawn using our own paletted bitmap drawing functionality, ultimately blitting to GDI without any caching of the drawn pattern.
Scrolling is handled via ScrollWindow (or redrawing the whole the hole thing for platforms or settings where this will cause problems, like Wine).
This whole thing probably needs a more or less complete rewrite or refactoring.
There are multiple ways to rewrite it:
GDI+ can be used safely and unconditionally. It is supported on all platforms we support.
Direct2D has the advantage of being GPU-accelerated, especially on Windows 8 or later. We still need to provide a fallback for situations without Direct2D acceleration (where it would be slow) though.
All things considered, it is probably the best idea to abstract the actual rendering backend. We currently already kind of have such an abstraction in place in the form of CFastBitmap. It probably needs a lot of changes to its interface to be really usable as a true abstraction layer though.
|Tags||No tags attached.|
|Has the bug occurred in previous versions?|
|Tested code revision (in case you know it)|
|related to||0001071||assigned||manx||Playback Row cursor disappears on high latency|
|related to||0000627||assigned||Saga Musix||Make OpenMPT completely DPI-aware|
|related to||0001003||confirmed||Pattern View :: Smoothscrolling enabled :: displays artifacts|
|related to||0000522||resolved||manx||Playback Cursor always jitters when you run it under Wine 1.7|
|related to||0001024||new||Relics When Navigating to Next Pattern|
|2018-04-15 17:24||manx||New Issue|
|2018-04-15 17:24||manx||Relationship added||related to 0001071|
|2018-04-15 17:25||manx||Relationship added||related to 0000627|
|2018-04-15 17:25||manx||Relationship added||related to 0001003|
|2018-04-15 17:25||manx||Relationship added||related to 0000522|
|2018-04-18 14:43||Saga Musix||Relationship added||related to 0001024|