Я занимаюсь бизнесом, и просто загружаю изображения в графический процессор с помощью OpenGL. (обычно 20x 2048x2000x8bpp в секунду), bmp на текстуру и масштабирование видеокарты (win32, заголовки opengl Майка Лишке)
Загрузка такого изображения стоит 5-10 мс в зависимости от конкретной видеокарты (если она не встроена, а серии NVIDIA 7300 или новее. Также могут быть реализованы новейшие интегрированные графические процессоры). Масштабирование и отображение стоит 300US. Это означает, что клиенты могут перемещаться и масштабироваться как сумасшедшие, не касаясь приложения. Я рисую наложение (которое раньше было tmetafile, но теперь это собственный формат) поверх него.
Моя самая большая картинка - 4096x7000x8bpp, которая показывает и масштабируется менее чем за 30 мс. (GF 8600)
Ограничением этой технологии является максимальный размер текстуры. Это можно решить, разделив изображение на несколько текстур, но я пока не беспокоился, потому что поставляю системы с программным обеспечением.
(некоторые типичные размеры:
Серия nv6x00: 2k * 2k, но загрузка практически безубыточна по сравнению с GDI
Серия nv7x00: 4k * 4k Для меня базовые карты. GF7300 как $ 20-40
серия nv8x00: 8k * 8k
)
Обратите внимание, что это может быть не для всех. Но если вам повезло указать аппаратные ограничения, это может сработать. Основная проблема - это ноутбуки, такие как Thinkpad, графические процессоры которых старше, чем ноутбук avg, которые, в свою очередь, часто отстают от настольных компьютеров.
Я выбрал OpenGL, а не DirectX, потому что он более статичен во времени и легче найти примеры, не относящиеся к игре.