код на яваскрипте который опрашивает webgl и выдает модель графической карты:
spoilervar canvas = document.createElement('canvas');
var gl;
var debugInfo;
var vendor;
var renderer;
try {
gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
} catch (e) {
}
if (gl) {
debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
vendor = gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL);
renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL);
}
// Sample output:
//
// » console.log(renderer);
// ATI Technologies Inc. AMD Radeon R9 M370X OpenGL Engine
ссылка на gist
количество логических ядер процессора:
logicalProcessors = window.navigator.hardwareConcurrency
документация
но вот способа выяснить модель процессора вы не найдете, как и обьем оперативной памяти и т.д. В JS стандарте нет таких возможностей и не может быть - это было бы нарушением безопасности системы.
Как видите API дают только доступ к той информации которая важна для выбора способа обработки. В случае с количеством логических ядер в процессоре это используется для эффективного запуска Webworkers. Информация о способностях графической карты важна для выбора способа отображения.
Все другие способы требуют активных действий пользователя, инсталляции расширений в браузер, программ, апплетов и пр.