Commit 3b801fed authored by Michael Winkelmann's avatar Michael Winkelmann

Glyph cache test

parents
Als Kant 1781
die „Kritik
der reinen Vernunft“
veröffentlichte,
war damit die
„Kopernikanische Wende“
in der Philosophie
vollzogen.
Denn vor jeder
Ontologie
erörterte
Kant darin,
wie eine solche
als Wissenschaft
überhaupt möglich ist.
Die dazu erforderliche
kritische Methode
deduziert die
allgemeinen
Bedingungen, die
jeder Verstandeshandlung,
jeder Erkenntnis
und jeder
Wahrnehmung im Voraus,
a priori, zugrunde
liegen und sie
dadurch bestimmen.
Die „Kritik
der reinen Vernunft“
legt diese Bedingungen
in zwei Abschnitten
dar, der „transzendentalen
Ästhetik“, in der
die Anschauungen
von Zeit und Raum
behandelt werden,
und der ersten
Abteilung der
„transzendentalen Logik“
(der Analytik der
Begriffe und
Grundsätze a priori).
In der zweiten
Abteilung, der
„transzendentalen Dialektik“,
werden die Schlüsse
der Vernunft erörtert.
Die „Transzendentale
Ästhetik“ stellt
die Anschauung
als den von Kant
so genannten „inneren
und äußeren Sinn“
(intuitione pura)
vor, nicht mit der
Empfindung (sensatio)
zu verwechseln.[16]
In einer Formulierung
des neokantianischen
Philosophen Ernst Cassirer
ist es die Möglichkeit,
sich „das eine neben
dem anderen oder
das eine nach
dem anderen“
denken und vorstellen
zu können.[17]
Die reine Anschauung
des Raumes ohne
jede Sinnlichkeit findet
ihren Ausdruck in der
Geometrie, die der
Zeit in der
Arithmetik (da Zahlen
nur durch die Sukzession
möglich sind).
Beide sind aber auch die
Bedingungen jeder
Erfahrung. Es muss
daher nicht – wie
im Wolffianismus –
zwischen einem
idealen Raum der
Mathematik und einem
realen Raum der
physischen Wechselwirkung
unterschieden werden.
Alle Empfindungen sind
nur unter den
Bedingungen der räumlichen
oder zeitlichen
Anschauung möglich.
In der transzendentalen
Analytik deduziert Kant,
dass sinnliche Erkenntnis
durch reine Begriffe
(a priori), die
Kategorien, erzeugt wird.
[18] Nur durch sie
können Empfindungen
(a posteriori)
als Gegenstände der
Erfahrung begriffen
werden.
Durch Anwendung
der Kategorien auf
Raum und Zeit entstehen
synthetische Urteile
a priori, die Grundsätze
des Verstandes
(zweites Buch der
Analytik), die
gleichermaßen allgemeine
Bedingungen für
erfahrbare Objekte
darstellen, wie z. B.,
dass alle Anschauungen
extensive Größen sind.
[19] Damit ist die
erste Möglichkeit einer
reinen Naturwissenschaft
gegeben.
In einem seit
Erscheinen der
„Kritik“ und bis
heute sehr umstrittenen
Kapitel stellt Kant
dann das rein Denkbare,
das aber nie etwas
Erkennbares sein wird,
als „Grenzbegriff“,
in philosophischer
Terminologie also als
„problematischen Begriff“
vor, da so genannte
Noumena, heute zumeist
nur im Singular genannt,
was Missverständnisse
fördert, wenigstens
denkmöglich seien.[20]
In dem Versuch der
menschlichen Vernunft,
das Unbedingte zu
erkennen und die sinnliche
Erkenntnis zu übersteigen,
verwickelt sie sich
in Widersprüche,
da die „transzendentalen Ideen“
durch die Bedingungen a priori
selbst unvermeidlich sind,
nämlich die Idee der Seele,
die Idee des kausalen Weltganzen
und die Idee Gottes.
So widerlegt Kant in der
„transzendentalen Dialektik“
die Möglichkeit eines ontologischen
Beweises dafür – wie
auch für das cogito ergo sum
des Descartes, das als eine
Tautologie entschlüsselt wird -,
gesteht den transzendentalen
Ideen aber eine regulative
Funktion zu.[21]
Das Buch wurde 1827 wegen
der Widerlegungen der
Gottesbeweise vom Vatikan
auf das Verzeichnis
verbotener Bücher gesetzt.
Da jede Wirkung aber
auch eine Ursache
aus Freiheit haben
kann, nämlich den freien
Entschluss, eine solche zu
bewirken, der selbst nicht
Naturgesetzen unterworfen
ist, kann im Regress
der zurückgehenden
Reihe der Ursachen
(des Universums),
als erste und notwendig
unbedingte Ursache
(denn wäre sie bedingt,
so hätte die Bedingung
wieder eine Ursache
etc.) die Freiheit
eines Willens als
möglich gesetzt
werden.
Die „Transzendentale Ästhetik“
und die beiden Abteilungen
der „transzendentalen Logik“
bilden gemeinsam
die „Elementarlehre“,
der die „transzendentale
Methodenlehre“ folgt,
in der Kant z. B.
den transzendentalen
Beweis,
die Deduktion,
vom induktiven unterscheidet.
세기 철학의
인식론은 크게
합리주의와
경험주의로
나뉘었다.
여기서
합리주의는
인간이
본래부터
지닌 선험적
이성을 중시하였고,
경험주의는 인간이
경험함으로써 지식을
얻는 귀납법을
중시하였다.
합리주의의 방식은
"백마는 희다"
와 같이
술어가
주어의 개념에
이미 포함되어
있는 분석판단
을 하므로,
지식을 확장해
나가는 데
크게 도움이
되지 못하였고,
경험주의의
방식은 귀납적인
방법을 강조하며
종합판단을 한
나머지 진리의
필연성을 찾는 데
한계를 드러내었다.
[주 3] 여기서
칸트는 이 두
사상을 통합한
선험주의를
주장하였다.
즉, 지식의
보편성과 필연성을
인정하면서도 인식을
확장하는 '선험적
종합판단'
을 긍정하였다.
칸트는 《순수이성비판》
에서 인간의 이성이
지닌 한계를 지적하면서
인간 인식에 선험적
형식을 도입하는
이른바 '코페르니쿠스적
전환 을 시도하였다.
'코페르니쿠스적
전환'이란 인간이
대상을 있는 그대로
인식하는 것이
아니라 인간의
인식이 대상의
관념을 만들어낸다는
생각이다.
쉽게 말하면
인간은 대상이
있는 대로
아는 것이
아니라,
아는 대로
그 대상이
있다고 믿는다는
것이다. 따라서
칸트에게 진리는
주체의
판단형식에서
찾아야 하는
무엇이다.
칸트의
인식론은
감성을 통해
얻은 감각을
범주를 사용하여
지성(Verstand:오성)
[주 4]으로
인식하고,
초경험적인
것은 이성으로
인식한다는 것이다.
감성은 어떤
물자체를
지각하는
능력이며,
범주는 이러한
감각을 인식하게
하는 하나의
틀이다. 따라서
감성과 지성은
인간이 지각
하는 데 있어
없어서는 안되는
필수적인 요건인
셈이다. 여기서
칸트는 인간이
사물을 인식하는
데 시간과
공간 값이
필요하다고 본다.
구체적인 연장과
존재하는 시간이
없으면 우리는
인식을 할 수
없다고 보았기
때문이다.
다만, 감정과 같은
것은 공간 값은
없지만 시간
값만 있는
것으로 보았다.
칸트는 저서
《순수이성비판》
에서 초경험적인
것을 이성으로
알려고 하는
것을 비판하였다.
가령 신의
존재를
증명하려는
존재론적 증명
등을 비판하여
여러 형이상학적인
사상들을
배격하고자 하였다.
이 말은
형이상학의 영역이
거짓이라는 것이
아니라, 우리가
인식 할 수 없는
것으로, 어떤
형이상학적
명제가 참인지
거짓인지는 알
수 없다는
것이다.
또한 칸트는
인간의 지성 이
사물의 현상을
분류,정리할
수 있으나,
그 현상 너머에
숨은 본질에는
이를 수
없다고 보았다.
인간은 사물의
본질이나 신에
해당하는
물자체를 인식할
수 없는 것이다
따라서 칸트에
따르면, 기존의
형이상학은
인간이 인식할
수 없는
초감각적이고
초경험적인 것을
인식의 범주
안으로 끌어들이는
오류를 저지른
것이다.
칸트는 형이상학이
그런 오류에서
벗어나 이성의
인식체계에
대한 학문이
되어야한다고
생각했다
하지만 칸트는
형이상학적인 신,
영혼들의 존재를
도덕을 다루는
과정에서 다시
요청하게 된다.
윤리학 칸트는
윤리학을 연구하면서,
주관적인 감정이나
상황에 따라
‘차이가 나는’
도덕이 아니라
모두가 인정할 수
있는 ‘보편적이고
객관적’인 도덕을
추구하였다.
모두가 합리적이고
타당하다고
생각하는
도덕을 지키는
것이 옳다고
생각했기
때문이다.
이러한 도덕을
도덕법칙이라고
부르는데,
칸트는 인간은
자신의
#include <QGuiApplication>
#include <QQuickView>
#include <QDebug>
#include <QFile>
#include <QQmlContext>
#include <QQmlEngine>
#include <QQuickItem>
#include <QTextStream>
#include <QTimer>
int main(int argc, char *argv[]) {
qputenv("QT_IM_MODULE", QByteArray("qtvirtualkeyboard"));
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QQuickView view;
view.setSource(QUrl("qrc:/main.qml"));
if (argc >= 2) {
QStringList data;
QFile f(argv[1]);
if (f.open(QFile::ReadOnly | QFile::Text)) {
QTextStream t(&f);
while (!t.atEnd()) {
auto s = t.readLine();
s = s.trimmed();
if (!s.isEmpty()) {
data.push_back(s);
}
}
}
view.rootObject()->setProperty("model", data);
view.rootObject()->setProperty(
"nativeRendering",
argc >= 3 && QString(argv[2]) == QStringLiteral("NATIVE"));
view.show();
QTimer scrollBarTimer;
scrollBarTimer.setInterval(100);
static int counter = 0;
scrollBarTimer.connect(&scrollBarTimer, &QTimer::timeout, [&]() {
view.rootObject()->setProperty("scrollBarPos", counter / 100.0);
++counter;
});
scrollBarTimer.start();
}
QTimer::singleShot(10000, &app, &QGuiApplication::quit);
return app.exec();
}
import QtQuick 2.9
import QtQuick.Controls 2.2
ListView {
id: listView
property real scrollBarPos: 0
property bool nativeRendering: false
anchors.fill: parent
delegate: Text {
height: 16
text: modelData
renderType: listView.nativeRendering ? Text.NativeRendering : Text.QtRendering
}
flickableDirection: Flickable.VerticalFlick
boundsBehavior: Flickable.StopAtBounds
ScrollBar.vertical: ScrollBar {
id: rest
position: listView.scrollBarPos
}
}
#!/bin/bash
export QT_LOGGING_RULES=qt.scenegraph.time.glyph.debug=true
#CALLGRIND_OPTIONS=--toggle-collect="QSGDistanceFieldGlyphCache::update()"
OUTPUT_DIR=profiledata
mkdir $OUTPUT_DIR
function callgrind() {
valgrind --tool=callgrind ${CALLGRIND_OPTIONS} \
--callgrind-out-file=$OUTPUT_DIR/$1.$2.out \
--log-file=$OUTPUT_DIR/$1.$2.callgrind.log \
./glyphcache_test $1.txt $2 > $OUTPUT_DIR/$1.$2.log 2>&1
}
callgrind
callgrind korean QT
callgrind german QT
callgrind korean NATIVE
callgrind german NATIVE
<RCC>
<qresource prefix="/">
<file>main.qml</file>
</qresource>
</RCC>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment